Các tác phẩm sau trong shell của tôi (zsh):
> FOO='ls'
> $FOO
file1 file2
nhưng sau đây không:
> FOO='emacs -nw'
> $FOO
zsh: command not found: emacs -nw
mặc dù việc gọi emacs -nw
trực tiếp mở Emacs hoàn toàn tốt.
Tại sao?
zsh
hành vi như bạn mong đợi. Khi bạn gõ $cmd
, nó sẽ chạy lệnh có tên được lưu trữ $cmd
. bash
(và hầu hết các Bourne khác như shell) gọi toán tử split + global trên các biến không được trích dẫn, đã zsh
sửa lỗi đó.