!$
memperluas ke kata terakhir dari perintah Anda sebelumnya.
Jadi Anda bisa melakukan:
cat foo/is/a/very/long/path/to/bar.c
rm !$
atau:
git diff foo/bar.c
git checkout !$
Contoh Anda kebetulan hanya mengulang kata terakhir, jadi !$
bekerja dengan baik. Jika Anda sebenarnya memiliki banyak argumen yang ingin Anda ulangi, dan Anda hanya ingin mengubah kata pertama, Anda dapat menggunakan !*
, yang meluas ke semua kata dari perintah sebelumnya kecuali nol.
Lihat bagian "PERLUASAN SEJARAH" pada bash
halaman manual. Ada banyak fleksibilitas di sana.
Ctrl +a untuk menuju ke awal baris, lalu Alt +d untuk menghapus kata pertama.
Saya tidak yakin apakah akan lebih cepat atau tidak, tetapi lihat artikel ini, khususnya poin #.3:
- Ganti string dari perintah sebelumnya menggunakan ^str1^str2^
Dalam contoh berikut, pertama kita menjalankan perintah ls untuk memverifikasi file. Belakangan kami menyadari bahwa kami ingin melihat konten file. Alih-alih mengetikkan seluruh nama file lagi, kami dapat mengganti "ls" di perintah sebelumnya dengan "cat" seperti yang ditunjukkan di bawah ini.
$ ls /etc/cron.daily/logrotate $ ^ls^cat^ cat /etc/cron.daily/logrotate