Ayrı bash terminalleri arasında gerçek zamanlı paylaşılan geçmişe olanak tanımak için İşte 'deki yanıtı kullandım. Yukarıdaki cevapta açıklandığı gibi, bu ekleyerek elde edilir:
# avoid duplicates..
export HISTCONTROL=ignoredups:erasedups
# append history entries..
shopt -s histappend
# After each command, save and reload history
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
Eğer bash kabukları ayrıysa (örneğin CTRL+ALT+T
kullanarak farklı bash terminalleri açıyorsa) iyi çalışır. Ancak tabs
(açık bir terminalden "CTRL + SHIFT + T) yerine yeni kullanıyorum. Neden bu davranıştaki fark? Bash tarihini çeşitli sekmelerde nasıl paylaşabilirim?
GÜNCELLEME: Alışılmadık bir davranış farkettim: CTRL+C
yazıyorsam, diğer terminallerden birinde yazılan son komut (her ikisi de bir sekme olsun veya olmasın) doğru şekilde görüntülenir. CTRL + C, tarihin bir dezavantajını zorlarsa, o zaman doğru bir şekilde paylaşılmış gibi olur.
Örnek olarak çıkışlar (T1, terminal 1 ve T2 terminal 2'yi gösterir):
T1:
ls -lah <enter>
# the list of files and directory is shown
T2:
cd Documents <enter>
T1:
<up> (i.e. I press the up arrow)
ls -lah #i.e the last command in terminal 1 is shown rather than the last of terminal 2
^C (i.e. I press CTRL+C)
<up>
cd Documents #the last command issued in terminal 2 is correctly displayed
Umarım bu herhangi bir ipucu verebilir!