Saya menggunakan bash dan saya ingin menghindari beberapa perintah yang disimpan dalam sejarah.
- Apakah mungkin melakukan itu hanya untuk perintah selanjutnya?
- Apakah mungkin melakukan itu untuk seluruh sesi?
Saya menggunakan bash dan saya ingin menghindari beberapa perintah yang disimpan dalam sejarah.
Jawaban:
dan saya baru ingat jawaban lain, ini adalah jawaban aktual untuk pertanyaan Anda.
jika Anda memiliki "ignorespace" di HISTCONTROL, maka bash tidak akan ingat baris yang dimulai dengan karakter spasi. itu tidak akan muncul bahkan dalam sejarah shell saat ini, apalagi disimpan ke $ HISTFILE.
misalnya saya telah mengekspor HISTCONTROL = 'ignoreboth: erasedups' di my ~ / .bashrc
inilah detail dari halaman bash man:
sumber
Berikut adalah beberapa pelajaran sejarah yang saya pelajari dari googling:
Anda dapat mengatur riwayat untuk mengabaikan string tertentu. Dalam contoh ini, saya telah mengabaikan perintah ls, passwd dan perintah apa pun yang diawali oleh spasi karakter.
Untuk menonaktifkan riwayat untuk sesi Anda, Anda dapat mengeluarkan:
Referensi
sumber
Jika Anda hanya ingin menghapus perintah terakhir dari histori, maka Anda dapat menekan Up-arrow, diikuti oleh Ctrl - U(hapus ke awal baris), lalu Up-arrowlagi.
Anda dapat menghapus setiap baris dari riwayat seperti ini. Cukup gunakan panah atas atau cari atau apa pun untuk menjadikannya baris perintah saat ini sedang diedit, lalu tekan Ctrl - U, dan kemudian Up-arrowatau Down-arrowuntuk pindah ke baris sejarah lain.
Saya menemukan ini secara tidak sengaja hari yang lalu. Saya tidak tahu apakah itu didokumentasikan atau tidak.
Namun, secara umum, tidak terlalu merepotkan untuk tidak menyimpan riwayat shell saat ini sama sekali dengan:
sumber
Anda dapat menghapus
HISTFILE
variabel. Dariman bash
:Saya tidak berpikir ini mencegah perintah muncul di riwayat shell lokal sebelum shell keluar.
sumber
Saya terkadang melakukannya
sumber
Saya melihat bahwa tidak ada yang menulis metode ini, jadi saya akan melakukannya.
history -d
menghapus entri yang disebutkan dari riwayat.HISTCMD
menyimpan jumlah perintah dari perintah yang akan dieksekusi selanjutnya. Jadi, (HISTCMD-1) mengacu pada perintah yang dieksekusi terakhir.Saya membuat film bash pendek yang menunjukkan cara kerjanya: https://asciinema.org/a/dtxpuovhty0obhln50soqypt2
Setelah menjalankan perintah dan karena itu juga menghapus perintah itu sendiri maka naik dengan panah tidak akan menampilkan perintah, jadi jika Anda berencana sering menggunakan itu, yang terbaik adalah membuat alias:
Maka Anda dapat melakukan:
sumber