내 디렉토리 설정은 다음과 같습니다
~/code
~/code/src
~/code/build -> /path/to/somewhere/else
마지막은 심볼릭 링크입니다.
만약 내가한다면
cd ~/code/build
ls ..
그런 다음 목록을 얻었 /path/to/somewhere
지만기타 비고그리고 내 경험에 비추어 볼 때 목록을 보고 싶습니다 ~/code
. 예전에는 그 반대였었다고 맹세합니다.
저는 우분투에서 zsh와 bash를 사용하고 있습니다. 그러한 설정이 있습니까, 아니면 POSIX와 같은 것에 깊이 포함되어 있습니까?
답변1
문제가 아닙니다 ls
. 이것이 바로 심볼릭 링크가 작동하는 방식입니다. 현재 디렉토리의 상위 디렉토리로 이동 하지만 ..
심볼릭 링크를 통해 도달했는지는 알 수 없습니다. 이 동작을 방지하려면 쉘이 개입해야 합니다. 쉘 내장 기능을 호출할 뿐만 아니라 전체 디렉토리 경로를 기억하고 원하는 것이 무엇인지 알아내는 cd
특수 처리 방법이 있습니다 . 그러나 내장되어 있지 않습니다. 기대하는 결과를 얻으려면 셸을 전달하기 전에 다른 경로로 변경해야 합니다. 옵션이 도움이 될 수 있습니다.chdir
ls
..
ls
zsh
CHASE_DOTS
일반적으로 디렉토리에 대한 심볼릭 링크는 더러운 것입니다. 중요하고 반영구적인 응용 프로그램의 경우 을 사용하십시오 mount --bind
.
답변2
내 태그로 질문에 태그를 지정했기 때문에 zsh
쉘에 대해 이야기하고 있다고 가정합니다.
oh-my-zsh
변수 및 CHASE_LINKS
/또는 CHASE_DOTS
. 실행을 확인 setopt | grep -i chase
하고 목록에 있는지 확인하세요. 그렇다면 설정을 해제하세요.
unsetopt CHASE_DOTS
unsetopt CHASE_LINKS