このbashオプションは混乱しています。
-血
設定されている場合はいいえ解決する現在のディレクトリを変更する cd などのコマンドを実行する際のシンボリックリンクです。代わりに実際のディレクトリを使用してください。デフォルトでは、Bashは現在のディレクトリを変更するコマンドを実行するときにディレクトリの論理チェーンに従います。
For example, if /usr/sys is a symbolic link to /usr/local/sys then: $ cd /usr/sys; echo $PWD /usr/sys $ cd ..; pwd /usr If set -P is on, then: $ cd /usr/sys; echo $PWD /usr/local/sys $ cd ..; pwd /usr/local
私は決心が従うことを意味すると思いましたか?たとえば、/usr/sys は /usr/local/sys を指すので、/usr/local/sys として解釈されます。ただし、上記の例では、set -P
/usr/sysを開くと/usr/local/says?になります。開いてもシンボリックリンクを解決してはいけないとされているが
答え1
vm1:/home/millerp > ln -s /var/log ./log
vm1:/home/millerp > set -P
vm1:/home/millerp > cd log
vm1:/var/log > cd
vm1:/home/millerp > set +P
vm1:/home/millerp > cd log
vm1:/home/millerp/log >
-P を使用すると、cwd はリンクで確認 (変換) せずに物理 (物理) パスとして表示されます。 + Pを使用すると、cwdはシンボリックリンクパスとして解決されます。
ムルが指摘したように、問題は「誰のために解決されたのか」です。