Yıllar boyunca birçok büyük, çirkin yineleme ve garip kenar olaylarından sonra, şimdi .bashrc'nin buna adanmış özlü bir bölümüne sahibim .
Öncelikle, .bashrc dosyanızın (Ubuntu için varsayılan) bu bölümünü yorumlamanız veya kaldırmanız gerekir . Bunu yapmazsanız, belirli ortamlar (çalışan screen
oturumlar gibi ) geçmişinizi keser:
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
# HISTSIZE=1000
# HISTFILESIZE=2000
İkinci olarak, bunu .bashrc'nizin altına ekleyin:
# Eternal bash history.
# ---------------------
# Undocumented feature which sets the size to "unlimited".
# http://stackoverflow.com/questions/9457233/unlimited-bash-history
export HISTFILESIZE=
export HISTSIZE=
export HISTTIMEFORMAT="[%F %T] "
# Change the file location because certain bash sessions truncate .bash_history file upon close.
# http://superuser.com/questions/575479/bash-history-truncated-to-500-lines-on-each-login
export HISTFILE=~/.bash_eternal_history
# Force prompt to write history after every command.
# http://superuser.com/questions/20900/bash-history-loss
PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
Not: Her komut çalıştırıldıktan hemen sonra yazılır, bu nedenle yanlışlıkla bir parola yapıştırırsanız, geçmiş yazma işleminden kaçınmak için "-9 %%" yi öldüremezsiniz, manuel olarak kaldırmanız gerekir.
Ayrıca her bash oturumunun tam geçmiş dosyasını belleğe yükleyeceğini unutmayın, ancak geçmiş dosyanız 10MB'ye kadar büyürse ( uzun, uzun zaman alacaktır) bash başlangıç zamanınız üzerinde çok fazla bir etki görmeyeceksiniz.