Setelah mencari tahu apa shopt -s histappend artinya ini , sepertinya pengaturan yang sangat waras, dan saya terkejut bahwa itu bukan default. Mengapa ada orang yang ingin menghapus riwayat mereka di setiap keluar shell?
Setelah mencari tahu apa shopt -s histappend artinya ini , sepertinya pengaturan yang sangat waras, dan saya terkejut bahwa itu bukan default. Mengapa ada orang yang ingin menghapus riwayat mereka di setiap keluar shell?
Jawaban:
Nah, ketika histappendtidak disetel, ini tidak berarti bahwa sejarah dihapus pada setiap keluar shell. Tanpa histappendbash membaca histfile saat startup ke dalam memori - selama operasi entri baru ditambahkan - dan saat shell keluar, baris HISTSIZE terakhir ditulis ke file histori tanpa menambahkan, yaitu mengganti konten sebelumnya.
Misalnya, jika histfile berisi 400 entri, selama bash runtime 10 entri baru ditambahkan - histsize diatur ke 500, maka histfile baru berisi 410 entri.
Perilaku ini hanya bermasalah jika Anda menggunakan lebih banyak contoh bash secara paralel. Dalam hal ini, file riwayat hanya berisi konten dari shell yang terakhir keluar.
Terlepas dari ini: Ada beberapa orang yang ingin menghapus riwayat mereka saat keluar dari shell karena alasan privasi.
histappendmemiliki relevansi dengan apakah rootsejarah mencapai disk? Sekali lagi, itu hanya mempengaruhi apa yang tertulis, bukan jika .
histappenddan HISTCONTROL=ignoredups:erasedups:ignorespacesepertinya standar yang bagus untuk kebanyakan orang.
histappendefektif tidak ada artinya jika saya memiliki HISTFILESIZE=dan HISTSIZE=untuk sejarah yang tak terbatas?
Untuk kompatibilitas historis, saya kira. The histappendpilihan tidak ada sampai pesta 2.0.
histappend.
bash'murni' atau yang disediakan oleh distro.bashrc. untuk yang pertama, @Gilles mungkin benar. dalam arti yang terakhir,-s histappendadalah default pada, misalnya, Debian, sejak 2008: bugs.debian.org/cgi-bin/bugreport.cgi?bug=452459