O que é este comando HOME?

4

Eu posso executar um comando chamado "HOME", que parece ser equivalente a cd && echo "~" . Mas não consigo descobrir onde está definido:

$ pwd
/tmp
$ which HOME
HOME not found
$ type HOME
HOME not found
$ man HOME
No manual entry for HOME
$ HOME
~
$ pwd
/Users/tba

Isso é um shell embutido? Parece mais uma tentativa frustrada de imprimir o caminho completo do meu diretório pessoal.

Estou executando o ZSH (com o Oh-My-Zsh) no OS X Yosemite.

    
por tba 12.07.2015 / 02:43

1 resposta

5

oh-my-zsh ativar duas coisas, o que causa esse comportamento:

  • AUTO_CD : Se o comando não puder ser executado e o comando for um nome de diretório, execute cd para esse diretório
  • CDABLE_VARS : Se o argumento for um comando cd (ou um CD implícito com o AUTO_CD option set) não é um diretório e não inicia com uma barra, tente expandir a expressão como se ela fosse precedida por ~

No seu caso, ao digitar HOME , AUTO_CD fez zsh executar cd HOME , CDABLE_VARS fez zsh realizada cd ~HOME , ~HOME foi expandida para seu diretório pessoal.

Você pode chamar a opção zsh with --xtrace para ver o que aconteceu:

$ zsh --xtrace
$ HOME
...
+zsh:1> cd /home/cuonglm
~
....
    
por 12.07.2015 / 20:21