답변:
다음을 사용해야합니다.
ln -s "$(cd . && pwd)" ~/mylink
또는:
ln -s "$(pwd -P)" ~/mylink
현재 작업 디렉토리에 대한 올바른 결과를 얻습니다. 이 질문 에서와 같이 작업하면서 변경할 수 있습니다 .
$PWD
( $(pwd -P)
현재 디렉토리에 대한 정식 경로) 보다는 ( 그가 거기에 도착했던 경로)를 사용하기를 원할 것 입니다. 경우 $PWD
현재 디렉토리에 더 이상 점, 다음에는 그가 말없는 것 $(pwd -P)
중 하나 다음 분의 뜻을.
"$PWD"
현재 direcory가 이동하면 여전히 오래된 값을 볼 수 있습니다 . 쉘에 의해 또는 초기화 PWD
될 때만 설정됩니다 cd
.
cd
메이크업을 보장 할 수 없습니다 $ PWD 또는 pwd의 출력은 현재 디렉토리의 경로입니다. 당신은 일어날 가능성이없는 것을 막으려 고 노력하고 있지만, 첫 번째 해결책에서는 반드시 효과적 일 필요는 없으며, 두 번째에서는 그것이 행동을 변화시키고 있습니다.
mv
후에도ln
같은 상황에 처하게됩니다. 반면에, 그가했다면 cd /long/logical/path/to/some/directory
, /vg0/lv1/user2/app4
링크가 /long/logical/path/to/some/directory
다른 곳을 가리킬 때 잘못된 위치를 가리 키므로 링크가 (정규 경로) 를 가리 키기를 원하지 않습니다 .
"$PWD"
POSIX 쉘 및~0
에서 참조하십시오zsh
.