は、私は私のホームフォルダ内のフォルダ〜/ A/Bを持っていると仮定し、フォルダBは へのシンボリックリンクが含まれている「..」 『のシンボリックリンク』という名前。それから私は bashで以下の操作を実行します。挙動
[email protected]:~$ cd a/b/symlink
[email protected]:~/a/b/symlink$ pwd -P
/home/hm/a
[email protected]:~/a/b/symlink$ cd ..
[email protected]:~/a/b$ pwd -P
/home/hm/a/b
PWD -Pは、すべてのシンボリックリンクを逆参照、現在の作業ディレクトリを表示します。 /home/hm/a/bという作業ディレクトリは、/ home/hmではなく、最後にあるのはなぜですか?
FYI、あなたが使用することができます '-o physical'を設定したり、'この動作が永続的に-P'を設定します。 – Kevin
..実装はおそらく@ geekosaurの記述と一線を画しています。あなた自身の価値で 'OLDPWD'を上書きすることが実際に' cd ..'動作に影響するとは思いません。 – sarnold
OLDPWDが実際に何もしないと私は同意します。シンボリックリンクを3段階深く "cd"してから、 "cd .."を数回試してみました。それは正常に働いた。 OLDPWDを使用した場合、動作しません。 OLDPWDは1つのディレクトリだけを記憶しており、複数のディレクトリに戻ることはできません。したがって、OLDPWDは使用されません。 –