Когда и как были созданы и экспортированы эти переменные среды по умолчанию?

Один из подходов - использовать sed:

sed 's%. /*. */%%; /^$/d'

Например, чтобы убрать комментарии:

printf "hello\nx=1\n/* some comment */\nnot some comment\nthis has /* but no close\n" |
sed 's%.*/\*.*\*/%%; /^$/d'
1
22.04.2018, 04:08
1 ответ

Когда мне интересно, что делает программа с открытым исходным кодом, я просматриваю исходный код (и документацию, а также эксперименты ). Похоже, вы нашли довольно хороший список, основанный на поиске set_auto_export (в исходном коде bash для переменных.c

Они находятся внутри initialize_shell_variables(), который вызывается изshell_initialize()в shell.c, который сам вызывается изmain()в shell.c.

Вы даже можете найти доказательства того, что $PATHи $TERMбыли помечены для экспорта в какой-то момент времени, но теперь ifdef'dисключены.

4
27.01.2020, 23:18

Теги

Похожие вопросы