Jawaban Jon Reinhold bagus, tetapi ada solusi yang jauh lebih kuat yang akan saya sarankan. Saya juga memiliki komentar tentang gotcha dalam jawaban Jon, tetapi saya tidak memiliki reputasi yang cukup untuk dapat berkomentar secara langsung, jadi @Jon Reinhold, jika Anda membaca ini, harap berikan komentar saya kepada Anda di bawah ini.
Bash termasuk perintah fc
, yang mengambil nomor baris parameter dari daftar riwayat bash. Ini kemudian membuka editor default Anda dengan baris-baris itu sebagai teks. Pada titik itu, Anda dapat mengedit baris secara opsional. Lalu, ketika Anda keluar dari editor, bash mengeksekusi baris itu!
Contoh pengeditan yang mungkin ingin Anda buat adalah menambahkan ke semua kecuali baris terakhir seperti "; baca -p" selanjutnya ... ". Itu akan menyebabkan bash untuk mengeksekusi setiap baris, dan meminta Anda sebelum melanjutkan.
Komentar untuk Jon Reinhold: Jawaban yang bagus, tetapi Anda harus membuatnya memenuhi syarat karena jika pengguna telah menetapkan variabel bash HISTCONTROL untuk dimasukkan
erasedups
, maka setelah melakukan C-o
pengguna akan bingung karena alih-alih perintah berikutnya yang diharapkan dalam sejarah ditampilkan, yang setelah itu akan ditampilkan. Ini karena bash telah menghapus instance asli dari perintah yang dieksekusi, dan dengan demikian semua perintah sesudahnya telah bergeser ke atas satu baris, yaitu. ke satu nomor indeks yang lebih rendah dalam daftar riwayat.