Dans zsh
cela 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, ssh
cela 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 zsh
sait qu'elle est aliasée:
% ssh zsh@server 'alias foo=ls; alias'
foo=ls
run-help=man
which-command=whence
Comment dire zsh
que les alias doivent être actifs?
bash
etcsh
ils se sont comportés de la même manière. J'espère que quelqu'un pourrait expliquer cela.