Saya menggunakan !n di mana (n) adalah nomor baris untuk mengeksekusi baris dalam file riwayat yang ingin saya jalankan pada command prompt yang saya temukan melalui history|less.
Tetapi ada acara riwayat baris perintah yang ingin saya ubah secara manual. Bagaimana saya bisa memasukkan ke dalam baris perintah konten peristiwa sejarah tanpa itu benar-benar dijalankan sehingga saya dapat memodifikasi dan kemudian tekan kembali?
Terbaik,
Jawaban yang Diterima:
Untuk meminta agar perintah dicetak daripada dieksekusi setelah penggantian riwayat, tambahkan :p
pengubah, mis. !42:p
. Perintah yang dihasilkan juga akan dimasukkan ke dalam riwayat, sehingga Anda dapat menekan Atas untuk mengeditnya.
Jika Anda memiliki histverify
kumpulan opsi (shopt -s histverify
), Anda akan selalu memiliki kesempatan untuk mengedit hasil penggantian riwayat.
fc
builtin memberikan akses terbatas ke perluasan riwayat (tanpa penanda kata), dan memungkinkan Anda mengedit perintah sebelumnya di editor eksternal.
Anda dapat menggunakan !prefix
untuk merujuk ke perintah terakhir yang dimulai dengan prefix
, dan !?substring
untuk merujuk ke perintah terakhir yang dimulai dengan substring
. Jika Anda tahu apa yang Anda cari, ini dapat menghemat banyak waktu untuk history | less
.
Cara lain untuk menelusuri riwayat sebelumnya adalah penelusuran inkremental:tekan Ctrl +R dan mulai masukkan substring dari apa yang Anda cari. Tekan Ctrl +R untuk pergi ke kemunculan string pencarian sebelumnya sejauh ini dan Ctrl +S jika Anda sudah pergi terlalu jauh. Sebagian besar kunci selain Ctrl +R , Ctrl +S , Spasi mundur dan karakter biasa mengakhiri pencarian inkremental dan memiliki efek yang biasa (misalnya tombol panah untuk memindahkan kursor pada baris yang telah Anda capai, Enter untuk menjalankan perintah).