Não é possível definir alias no comando zsh - não encontrado?

3

Estou tentando definir alias conky-lua ="conky -c ./.conky/conkyrc &" para começar o conky-lua. mas quando eu obtenho o .zshrc , ele diz que o comando não foi encontrado.

Uma solução possível que encontrei no Stackoverflow é definir alias ls='ls -GpF' não resolveu o problema

    
por Lynob 23.04.2014 / 14:47

1 resposta

5

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.

    
por Rmano 23.04.2014 / 16:03