他のプロセスの環境変数を取得するには?

他のプロセスの環境変数を取得するには?

確認すると、/proc/1/environプロセス環境変数のヌルバイトで区切られた文字列が表示されます。1これらの変数を現在の環境にインポートしたいと思います。見つけることができるショートカットがありますか?

マニュアルprocページでは、各環境変数を1行ずつ印刷するのに役立つフラグメントを提供しました(cat /proc/1/environ; echo) | tr '\000' '\n'。これは内容が正しいことを確認するのに役立ちますが、実際にやるべきことは、これらの変数を現在のbashセッションにソースとして追加することです。

どうすればいいですか?

ベストアンサー1

次のコードは、各環境変数をステートメントに変換し、exportそれを正しく引用してシェルに読み込み(LS_COLORSたとえば、セミコロンを含めることができる)インポートします。

[残念ながら、printfinは/usr/bin通常サポートされていないため、%q組み込みbash。 ]

. <(xargs -0 bash -c 'printf "export %q\n" "$@"' -- < /proc/nnn/environ)

おすすめ記事