Xem xét:
gnome-terminal -x sleep 10m --version
gnome-terminal -e 'sleep 10m' --version
Trong ví dụ đầu tiên, mọi thứ sau -x
được sử dụng để lệnh được thực thi. Vì vậy, Terminal Gnome sẽ chạy sleep 10m --version
như lệnh. --version
trong trường hợp này trở thành một phần của lệnh được chạy bởi Gnome Terminal.
Trong lần thứ hai, chỉ có đối số chuỗi đơn -e
được sử dụng làm lệnh, không có gì khác. Vì vậy, --version
đây thực sự là một tùy chọn cho Gnome Terminal.
Đầu tiên có thể hữu ích hơn nếu bạn muốn chạy một chuỗi các lệnh:
gnome-terminal -x bash -c 'command 1; command 2; ...'
Điều này rất khó thực hiện -e
, vì toàn bộ lệnh cần phải là một chuỗi, vì vậy bạn sẽ phải trích dẫn toàn bộ. Đến lượt điều này có nghĩa là bạn cần cẩn thận hơn đối với các trích dẫn và mở rộng biến và như vậy:
gnome-terminal -e "bash -c 'command 1 $foo; command 2; ...'"
Ở đây, $foo
sẽ được mở rộng bởi vỏ hiện tại.
gnome-terminal -e 'bash -c "command 1 | awk '\''{print $NF}'\''"'
Sử dụng '
bên trong chuỗi lệnh liên quan đến việc xử lý trích dẫn gây phiền nhiễu.