Düşünmek:
gnome-terminal -x sleep 10m --version
gnome-terminal -e 'sleep 10m' --version
İlk örnekte, -xkomutun yürütülmesi için sonraki her şey kullanılır. Böylece GNOME Terminali sleep 10m --versionkomut olarak çalışacaktır . --versionbu durumda GNOME Terminali tarafından çalıştırılacak komutun bir parçası haline gelir.
İkincisinde, yalnızca tek dize argümanı -ekomut olarak kullanılır, başka bir şey değildir. İşte --versionaslında GNOME Terminali için bir seçenek.
Bir komut dizisi çalıştırmak istiyorsanız daha kullanışlı olabilir:
gnome-terminal -x bash -c 'command 1; command 2; ...'
Bunu yapmak zordur -e, çünkü tüm komutun tek bir dize olması gerekir, bu yüzden her şeyi alıntılamanız gerekir. Bu da, tekliflere ve değişken genişlemeye ve daha fazlasına daha dikkatli olmanız gerektiği anlamına gelir:
gnome-terminal -e "bash -c 'command 1 $foo; command 2; ...'"
Burada, $foomevcut kabuk tarafından genişletilecektir.
gnome-terminal -e 'bash -c "command 1 | awk '\''{print $NF}'\''"'
'Komut dizesinin içinde kullanmak can sıkıcı alıntı işlemeyi içerir.