Dalam sistem UNIX Anda dapat menekan panah atas dan bawah untuk menavigasi melalui perintah sebelumnya. Ini sangat berguna.
Terkadang, saya naik dan menemukan perintah yang ingin saya gunakan lagi, tetapi dengan beberapa variasi. Jika saya melakukan perubahan seperti itu, maka saya tidak memiliki cara untuk mendapatkan kembali perintah aslinya, kecuali saya periksa history
.
Apakah ada cara untuk "membatalkan" perubahan pada perintah dalam riwayat yang diakses melalui kunci?
Solusi saya saat ini adalah dengan menambahkan a #
ke perintah. Dengan cara ini, perintah saat ini dilakukan sebagai komentar, jadi tidak ada yang terjadi. Lalu, saya bisa menelusuri lagi melalui perintah dengan tombol. Masalahnya adalah bahwa perintah yang saya gunakan mungkin terlalu jauh dalam daftar, jadi naik lagi dua ratus kali sedikit. Control + R juga bukan solusi, karena saya mungkin tidak ingat persis apa yang saya cari.
Contoh
Saya mengetik "50 perintah yang lalu" sebagai berikut:
ls -l /etc/httpd/conf/
Sekarang saya naik ke garis itu dan mengubahnya ke
ls -l /etc/init.d/
tetapi tidak menekan enter. Sekarang, saya ingin membahas ls -l /etc/httpd/conf/
lagi.
Lingkungan saya
$ echo $SHELL
/bin/bash
$ echo $TERM
xterm
ksh
kelakuannya berbeda di sini, tampaknya. Dan opsi edit riwayat Anda juga tergantung pada mode pengeditan yang dipilih. Dalam ksh
mode-vi, misalnya, entri lama tidak ditimpa, dan saya juga dapat mengeluarkan perintah undo, seperti di vi
, dengan 'u'.
ksh
, tetapi ada baiknya mengetahui hal seperti itu ada di sana.
ksh
, misalnya, Anda dapat mengedit entri riwayat dan memohonnya tanpa menghapus "versi sebelumnya" dari entri; Anda memiliki semua perintah yang dipanggil tersedia.