Mempertimbangkan:
gnome-terminal -x sleep 10m --version
gnome-terminal -e 'sleep 10m' --version
Dalam contoh pertama, semuanya setelah -x
itu digunakan untuk perintah yang akan dieksekusi. Jadi Terminal GNOME akan berjalan sleep 10m --version
sebagai perintah. --version
dalam hal ini menjadi bagian dari perintah yang akan dijalankan oleh Terminal GNOME.
Dalam yang kedua, hanya argumen string tunggal -e
yang digunakan sebagai perintah, tidak ada yang lain. Jadi di --version
sini sebenarnya adalah opsi untuk Terminal GNOME.
Yang pertama bisa lebih berguna jika Anda ingin menjalankan serangkaian perintah:
gnome-terminal -x bash -c 'command 1; command 2; ...'
Ini sulit dilakukan -e
, karena seluruh perintah harus berupa string tunggal, jadi Anda harus mengutip semuanya. Ini pada gilirannya berarti Anda harus lebih berhati-hati terhadap penawaran dan ekspansi variabel dan semacamnya:
gnome-terminal -e "bash -c 'command 1 $foo; command 2; ...'"
Di sini, $foo
akan diperluas oleh shell saat ini.
gnome-terminal -e 'bash -c "command 1 | awk '\''{print $NF}'\''"'
Menggunakan '
di dalam string perintah melibatkan penanganan kutipan yang mengganggu.