Birden fazla Konsole terminali kullanıyorum. Ve her terminalde yazdığım tüm komutların komut geçmişine kaydedilmesini istiyorum, böylece açacağım bir sonraki konsole hepsine sahip olacak. Her terminalin diğer terminalin komut geçmişini yazmasını önlemek için,.bashrc
# avoid duplicates and commands starting with space
export HISTCONTROL=ignoredups:erasedups:ignorespace
# append history entries..
shopt -s histappend
#My machine reboots without warning sometimes.Hence to save commands instantaneously.
export PROMPT_COMMAND="history -a"
export HISTSIZE=1000
PS1="\[\e[1;34m\]\! \[\e[0m\]"$PS1
Komut numarasını istemimde görmek için son satırı verdim. Komut no. hiçbir zaman 600'ün üzerine çıkmadı, ama yine de eski komutlarımın bir kısmı tarihe karışıyor. Tekrar tekrar verilen birçok komut vardır, ancak beklendiği gibi ignoredups
komut istemini hiçbir zaman artırmaz. Yine de eski komutlar hala kayboluyor ve tarihteki komutların sayısı her zaman 500'den biraz daha fazla.
.bash_history
Dosya hala ignoredups rağmen çiftleri bir şey içeriyor.
PS: yankı çıkışı $HISTSIZE
ve $HISTFILESIZE
her ikisi=1000
Güncelleme: Sorunu yukarıdaki girişte buldum .bashrc
. Sadece çağırarak history -a
içinde PROMPT_COMMAND
basitçe .bash_history son yeni komutu ekler. Yani ignoredups
ve erasedups
hiçbir etkisi yoktur.
Herhangi bir yolu var mı, hala her terminalden kopyaları olmadan .bash_history yazabilirsiniz? Tüm komut isteminde geçmişin tamamını yüklemek istemiyorum history -r
ve tekrar yazıyorum history -w
, çünkü bir terminalde verdiğim komutlar başka bir paralel çalışan terminalde de görünecek. Kombine komutların sadece yeni bir terminalde görünmesini istiyorum.
Tarihimin neden 500'e kırpıldığı bulmacası çözüldü. Bu makineye her seferinde bunun olduğunu fark ettim. .bash_profile
Aşağıdaki girdiyle bir oluşturmak bu sorunu çözdü.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
Şimdi .bashrc dosyam her ssh yaptığımda yürütülür. Ve geçmiş dosya boyutu artık monoton olarak artıyor.
bug-bash
Bu soru gönderildikten bir yıl sonra posta listesinde çıkan soruya çok benziyor : lists.gnu.org/archive/html/bug-bash/2013-07/msg00092.html