現在のシェル環境変数を表示する2つの方法が異なるのはなぜですか?

現在のシェル環境変数を表示する2つの方法が異なるのはなぜですか?

私のbashシェルのpidを見つけました

$ echo $$
7791

次に、2つの方法で環境変数を確認しました。

$ cat /proc/7791/environ | tr '\0' '\n'

~からhttps://stackoverflow.com/a/532284/156458

$ env

ただし、出力は同じではありません。たとえば、異なる値を表示しますPATH。なぜ違うの?ありがとうございます。

ベストアンサー1

この誤解を招く回答の以下の説明を読んでください。

/proc/$PID/environリアルタイムでシェルでは使用されません。プロセスの開始時の初期環境のみを示します。

初期化スクリプトを含むシェルで実行されるすべての操作は、現在表示されているproc項目を変更することなく、シェル内でこれらの値を変更できます。

おすすめ記事