Halaman manual menyatakan:
-e, --command=STRING
Execute the argument to this option inside the terminal.
-x, --execute
Execute the remainder of the command line inside the terminal.
Apa yang dimaksud dengan "baris perintah" dalam contoh kedua yang merujuk? Dan apa "sisa" nya? Bisakah Anda memberi contoh di mana dua opsi ini berbeda? Atau apakah mereka pada dasarnya sama?
command-line
gnome-terminal
stackzebra
sumber
sumber
Jawaban:
Mempertimbangkan:
Dalam contoh pertama, semuanya setelah
-x
itu digunakan untuk perintah yang akan dieksekusi. Jadi Terminal GNOME akan berjalansleep 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:
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:Di sini,
$foo
akan diperluas oleh shell saat ini.Menggunakan
'
di dalam string perintah melibatkan penanganan kutipan yang mengganggu.sumber