En zshesto funciona bien:
alias foo=ls
foo
Pero esto no:
alias foo=ls; foo
Al presionar enter un tiempo extra no es un problema cuando se ejecuta de forma interactiva. Pero cuando atravesarlo de sshrepente se convierte en un problema:
% ssh zsh@server 'alias foo=ls; foo'
zsh:1: command not found: foo
Incluso con una nueva línea no funciona:
% ssh zsh@server 'alias foo=ls;
foo'
zsh:2: command not found: foo
Lo extraño es que zshsabe que tiene un alias:
% ssh zsh@server 'alias foo=ls; alias'
foo=ls
run-help=man
which-command=whence
¿Cómo saber zshque los alias deben estar activos?
bashycshy se comportaron de la misma manera. Espero que alguien pueda explicar eso.