O problema é o espaço em torno do =
no comando.
Olhe:
[:~] % alias a=ls
isso funciona como esperado
[:~] % type a
a is an alias for ls
Mas
[:~] % alias b =ls
[:~] 1 %
Isso não funciona. zsh
veja duas palavras, b
e =ls
; ele usa a expansão do nome do caminho no segundo e executa alias b /bin/ls
--- sai silenciosamente com o código de erro 1 porque nem b
ou /bin/ls
são alias ( alias
sem =
verifica se um nome é um alias).
[:~] 1 % alias c ="ls -l"
zsh: ls -l not found
[:~] 1 %
Isso falha de uma maneira mais estranha; o shell está tentando expandir o caminho completo do comando "ls -l" ( com o espaço incorporado no nome do comando) e, portanto, está falhando ao procurá-lo.