이 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가 기호 링크 경로로 확인됩니다.
Muru가 지적했듯이 문제는 "누구를 위해 해결되었는가?"입니다.