Dalam beberapa kasus (beberapa versi bash), melakukan:
$ history -c; history -w
Atau cukup
$ history -cw
Akan menghapus riwayat di memori (panah atas dan bawah tidak akan memiliki perintah untuk dicantumkan) lalu tulis itu ke $HISTFILE
file (jika $HISTFILE
terpotong oleh instance bash yang sedang berjalan).
Terkadang bash memilih untuk tidak potong $HISTFILE
file bahkan dengan histappend
opsi tidak disetel dan $HISFILEZIZE
setel ke 0.
Dalam kasus seperti itu, opsi nuke selalu berfungsi:
history -c; >$HISTFILE
Itu menghapus daftar riwayat perintah yang direkam dalam memori dan semua perintah yang sebelumnya direkam ke file. Itu akan memastikan bahwa shell yang sedang berjalan tidak memiliki riwayat yang tercatat baik di memori atau disk, namun, instance bash lainnya yang sedang berjalan (di mana riwayat aktif) mungkin memiliki salinan lengkap dari perintah yang dibaca dari $HISTFILE
saat bash dimulai (atau saat history -r
dieksekusi).
Jika juga mensyaratkan bahwa tidak ada lagi (tidak ada perintah baru) dari sesi saat ini yang akan ditulis ke file riwayat, lalu, unset HISTFILE
akan mencegah pencatatan semacam itu.
bash
memiliki riwayat sesi di memori yang ditulis ke file jika variabel shell HISTFILE
disetel ke nama file saat bash
keluar.
Jika Anda menghapus file yang ditunjuk oleh HISTFILE
, hapus variabel itu, dan keluar dari bash
, maka sesi shell tersebut tidak akan meninggalkan riwayat persisten.
Gagal menghapus HISTFILE
variabel tetapi menghapus file hanya akan mengosongkan riwayat persisten, tetapi riwayat sesi saat ini akan disimpan saat shell keluar.