Sejarah bash dapat melakukan banyak hal bermanfaat, dan pencarian dengan Strg-r
yang disebutkan oleh Terry Wang adalah penting di antara mereka. Tetapi juga mungkin untuk melakukan persis apa yang Anda minta.
Anda dapat melakukan kembali perintah sebelumnya dengan !!
. Dengan ini, Anda juga dapat mengedit perintah sebelumnya. Jika misalnya Anda lupa untuk mendapatkan hak akses root untuk perintah
apt-get install a-long-list-of-packages
Anda tidak perlu mengetik ulang semua itu lagi. Alih-alih hanya menelepon
sudo !!
Jika Anda ingin menjalankan kembali perintah pada posisi tertentu dari riwayat Anda, Anda juga dapat menggunakan !
, misalnya
!3
untuk menjalankan kembali perintah di posisi 3. Sadarilah bahwa ini diperhitungkan dari atas. Jadi jika Anda menyimpan 500 perintah dalam riwayat Anda, !1
akan menjadi "500 perintah yang lalu". Anda juga dapat menggunakan angka negatif. Sebagai contoh
!-2
akan menjalankan kembali perintah terakhir kedua.
Anda juga dapat menjalankan kembali perintah terakhir yang dimulai dengan string seperti
!apt-
yang akan melakukan ulang baris terakhir yang dimulai dengan "apt-". Jika Anda ingin perintah terakhir di mana string muncul di mana saja di baris, Anda dapat menggunakan sesuatu seperti
!?pt-ge
Ada banyak hal menarik yang bisa dilakukan oleh bash history. Hanya untuk memberi kesan berbagai kemungkinan, Anda dapat secara khusus mengakses parameter perintah dari riwayat. Begitu
!-5:3:p
akan mencetak parameter ketiga ke kelima dari perintah terakhir.
EDIT: Mengenai komentar Rudie di bawah ini, dengan pengaturan standar ekspansi bash history ini memang dieksekusi secara langsung. Ini mungkin terbaik digambarkan seperti ini: Sebuah panggilan seperti !-3
ini digantikan oleh shell dengan perintah sepertiga terakhir dari riwayat dan kemudian masukan Anda (dengan penggantian) dieksekusi. Jadi jika Anda mengetik !-3
dan menekan ENTER
dan perintah terakhir ketiga Anda adalah ls ~
, itu berlaku sama seperti jika Anda mengetik ls ~
lagi dan menekan ENTER
"Anda sendiri".
Jika Anda tidak menginginkannya, Anda dapat mengatur opsi shell histverify
. Untuk mengatur dan menghapus opsi shell, Anda mungkin ingin membaca shopt
perintah. Dengan histverify
set, panggilan seperti !-3
hanya menulis penggantian dari histori Anda ke baris perintah Anda, tetapi tidak langsung melakukannya. Anda punya, jadi untuk speek, tekan yang penting ENTER
sendiri - atau menahan diri dari itu, jika Anda mau.