와 동일한 것으로 보이는 "HOME"이라는 명령을 실행할 수 있습니다 cd && echo "~"
. 그러나 해당 명령이 어디에 정의되어 있는지 모르겠습니다.
$ pwd
/tmp
$ which HOME
HOME not found
$ type HOME
HOME not found
$ man HOME
No manual entry for HOME
$ HOME
~
$ pwd
/Users/tba
내장 쉘인가요? 이는 내 홈 디렉토리의 정규화된 경로를 인쇄하려는 시도가 실패한 것처럼 보입니다.
저는 OS X Yosemite에서 ZSH(Oh-My-Zsh 포함)를 실행하고 있습니다.
답변1
oh-my-zsh
이 동작을 일으키는 두 가지 사항이 활성화되어 있습니다.
- 자동 디스크: 명령을 실행할 수 없고 명령이 디렉터리 이름인 경우
cd
해당 디렉터리에서 실행합니다. - CDABLE_VARS: 명령에 대한 인수
cd
(또는 옵션 세트가 있는 암시적 cdAUTO_CD
)가 디렉토리가 아니고 슬래시로 시작하지 않는 경우 앞에 문자가 있는 것처럼 표현식을 확장해 보십시오.~
귀하의 경우 HOME
make AUTO_CD
Performed 를 zsh
입력 하면 cd HOME
made CDABLE_VARS
Performed 가 홈 디렉토리로 확장 zsh
됩니다 .cd ~HOME
~HOME
zsh
옵션 --xtrace
호출을 사용하여 무슨 일이 일어나고 있는지 확인할 수 있습니다 .
$ zsh --xtrace
$ HOME
...
+zsh:1> cd /home/cuonglm
~
....