我能够运行一个名为“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
Run Code Online (Sandbox Code Playgroud)
这是内置的shell吗?这似乎更像是打印我的主目录的完全限定路径的失败尝试。
我在 OS X Yosemite 上运行 ZSH(使用 Oh-My-Zsh)。
oh-my-zsh
启用导致此行为的两件事:
cd
到那个目录cd
命令的参数(或带有AUTO_CD
选项集的隐含 cd )不是目录,并且不以斜杠开头,请尝试扩展表达式,就好像它前面有一个~
在你的情况下,当打字HOME
,AUTO_CD
国产zsh
执行cd HOME
,CDABLE_VARS
由zsh
执行cd ~HOME
,~HOME
扩展到你的主目录。
您可以致电zsh
与--xtrace
选项来查看发生了什么:
$ zsh --xtrace
$ HOME
...
+zsh:1> cd /home/cuonglm
~
....
Run Code Online (Sandbox Code Playgroud)