Di bash, Anda bisa menggunakan !*
untuk mendapatkan semua argumen dari perintah sebelumnya. Sebagai contoh, jika Anda melakukannya cp /some/path /some/other/path
dan kemudian melakukannya mv !*
, perintah kedua akan diperluas ke mv /some/path /some/other/path
.
Apakah ada hal seperti ini yang dapat digunakan untuk mengakses argumen tertentu dari suatu perintah, bukan dari semuanya?
sumber
!:1
,!:2
. Setelah menggunakan versi dengan titik dua, itu berhasil.!1:1
akan menunjuk ke argumen pertama dari baris pertama?Secara pribadi, saya benar-benar tidak menyukai fitur "ekspansi dengan tanda seru" yang bahkan akan mengganggu jika Anda mencoba
echo "Hello World!"
shell interaktif (jadi skrip sumber yang menganggapnya akan dijalankan dalam mode non-interaktif tidak akan berfungsi sama sekali).Jadi, saya mengatur
set +o histexpand
dan mulai mengingat argumen dengan metode berikut:Perhatikan bahwa trik-Esc adalah karena saya tidak memiliki kunci meta.
sumber
echo 'Hello, orld!'
. Perhatikan tanda kutip tunggal dan bukan tanda kutip ganda.