在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
别名应处于活动状态?
击不是问题:SSH服务器'禁用了javascript -s expand_aliases;别名JJ = LS \ NJJ'
—
奥莱丹下
bash
,csh
并且它们的行为方式相同。我希望有人能解释一下。