Dans zshcela fonctionne bien:
alias foo=ls
foo
Mais cela ne signifie pas:
alias foo=ls; foo
Appuyez sur Entrée une fois de plus n'est pas un problème lors de l'exécution interactive. Mais lors de son exécution, sshcela devient soudainement un problème:
% ssh zsh@server 'alias foo=ls; foo'
zsh:1: command not found: foo
Même avec une nouvelle ligne, cela ne fonctionne pas:
% ssh zsh@server 'alias foo=ls;
foo'
zsh:2: command not found: foo
La chose étrange est que zshsait qu'elle est aliasée:
% ssh zsh@server 'alias foo=ls; alias'
foo=ls
run-help=man
which-command=whence
Comment dire zshque les alias doivent être actifs?
bashetcshils se sont comportés de la même manière. J'espère que quelqu'un pourrait expliquer cela.