![$PATH環境変数はどのプロセスに属していますか? [閉鎖]](https://linux33.com/image/191506/%24PATH%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%81%AF%E3%81%A9%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AB%E5%B1%9E%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
環境変数はプロセスに属している必要があります。そうですか? $ PATHや$ HOMEなど、事実上の「グローバル」環境変数があるようです。どのプロセスに属していますか?
答え1
単一のPATH変数がなく、単一のプロセスに属していません。
すべてのプロセスに環境、これはキーと値のペアのリストで構成されています。キーは通常「変数」と命名されます。このexport
コマンドは環境をリストします。プロセスは親プロセスから環境を継承します(UNIXでは、親プロセスが終了する前でも可能です。それはクールですか?)。
たとえば、どの変数も環境に入れることができますが、export birthday="Jan 23"
HOMEやPATHなどの一部の変数はシェルで特別な意味を持ちます。他の変数はいくつかのプログラムで特別な意味を持ちます。たとえば、次を参照してください。環境部コマンドのマニュアルページからman
。
要約すると、すべてのプロセスにPATHとHOMEがあります。