これらのデフォルト環境変数はいつどのように生成されエクスポートされますか?

これらのデフォルト環境変数はいつどのように生成されエクスポートされますか?

以下は、起動ファイルを実行せずにbashシェルのデフォルトの環境変数を示していますか?

$ env -i bash --noprofile --norc
$ export
declare -x OLDPWD
declare -x PWD="/home/t"
declare -x SHLVL="1"

(これにより、set環境変数でもそうでない場合もあるデフォルトのシェル変数の長いリストが表示されます。)

これら3つの環境変数はいつどのように生成されエクスポートされますか?

bash自体またはbashを起動したときに除外していない暗黙的な起動ファイルを作成した人は誰ですか?

私の質問は以下からインスピレーションを得ました。デフォルトの環境変数は何ですか?

ありがとうございます。

ベストアンサー1

オープンソースプログラムが何をしているのか疑問に思うときは、ソースコード(文書や実験はもちろん)を見てみましょう。set_auto_export (検索結果によると、本当に良いリストを見つけたようです。bash変数.cソースコード

これらは中ですinitialize_shell_variables()次から電話をかける shell_initialize()shell.cでは、それ自体は次のようになります。次から電話をかける main()shell.cから

あなたも見つけることができます証拠ある時点で輸出用としてマークされていましたが、$PATH今は終了しました。$TERMifdef'd

おすすめ記事