/unix//a/1292/41729の回答を使用して、個別のbash端末間でリアルタイムの共有履歴を有効にしました。上記の回答で説明したように、これは以下を追加することで達成されます。
# 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"
bashのシェルは、例えば開放異なるbashの端末が使用して(分離されている場合、これは罰金を動作しますCTRL+ALT+T
。私が使用している場合しかし、それは動作しませんtabs
、むしろ新しいウィンドウよりも開放端子`Ctrl + Shiftキー+ T)から(。なぜ、この動作の違い?どのようにさまざまなタブ間でもbash履歴を共有できますか?
更新:異常な動作に気付きました。CTRL+C
入力すると、他の端末(タブかどうかに関係なく)で最後に入力したコマンドが正しく表示されます。CTRL + Cで履歴を強制的にフラッシュして、正しく共有されるようにするのと同じです。
例として、出力(T1は端末1、T2は端末2を示します):
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
これがヒントを提供できることを願っています!
~.bashrc
ファイルに追加しましたか?ちなみに、これらの変数のエクスポートは無意味です。環境スペースを無駄にするだけです。