У zshцьому чудово працює:
alias foo=ls
foo
Але це не так:
alias foo=ls; foo
Натискання клавіші Enter у додатковий час не є проблемою при інтерактивному запуску. Але при пробігу через sshнього раптом стає проблема:
% ssh zsh@server 'alias foo=ls; foo'
zsh:1: command not found: foo
Навіть з новим рядком це не працює:
% ssh zsh@server 'alias foo=ls;
foo'
zsh:2: command not found: foo
Дивна річ у тому, що zshвін знає, що це відчужено:
% ssh zsh@server 'alias foo=ls; alias'
foo=ls
run-help=man
which-command=whence
Як сказати, zshщо псевдоніми повинні бути активними?
bashіcshвони вели себе точно так само. Сподіваюся, хтось міг би це пояснити.