“解析符号链接”是什么意思?

“解析符号链接”是什么意思?

我对这个 bash 选项感到困惑:

-P

如果设置,则不解决执行 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 被解析为符号链接路径。

正如穆鲁指出的,问题是“为谁解决?”

相关内容