Trong zsh
này hoạt động tốt:
alias foo=ls
foo
Nhưng điều này không:
alias foo=ls; foo
Nhấn enter thêm thời gian không phải là vấn đề khi chạy tương tác. Nhưng khi chạy qua ssh
nó đột nhiên trở thành một vấn đề:
% ssh zsh@server 'alias foo=ls; foo'
zsh:1: command not found: foo
Ngay cả với một dòng mới, nó không hoạt động:
% ssh zsh@server 'alias foo=ls;
foo'
zsh:2: command not found: foo
Điều kỳ lạ là zsh
nó được đặt bí danh:
% ssh zsh@server 'alias foo=ls; alias'
foo=ls
run-help=man
which-command=whence
Làm thế nào để nói zsh
rằng các bí danh nên được hoạt động?
bash
vàcsh
và họ cư xử theo cùng một cách. Tôi hy vọng ai đó có thể giải thích điều đó.