
プロセスが起動されると、親プロセスの作業ディレクトリを継承することはわかっています。しかし、論理作業ディレクトリと物理作業ディレクトリの両方を継承するのでしょうか、それとも物理作業ディレクトリだけでしょうか?
答え1
うーん、そうですね。「論理的な」作業ディレクトリは環境変数で引き継がれますPWD
。environ(7)
これは「一部のシェルによって設定される」と書かれているので、明らかにアプリケーションに依存します。別の問題は、他のプログラムがそれを読み取るかどうかです。
/tmp$ ln -s ~ link
/tmp$ cd link
/tmp/link$ bash -c "pwd"
/tmp/link
/tmp/link$ zsh -c "pwd"
/home/itvirta
/tmp/link$ dash -c "pwd"
/tmp/link
Bash はdash
それを頼りにしているように見えますが、zsh
そうではありません (私のシステムでは、設定可能であることは確かです)。