私の.bashrc
には次のものが含まれています。
HISTSIZE=30000
Prompt_COMMAND="history -a"
export HISTSIZE Prompt_COMMAND
私が気づいたこと:
.bash_history
does追加されます。望ましい動作は、任意の端末で任意のコマンドの後に.bash_history
を再ロードすることです。これを達成する方法は何ですか?おそらくそれはPrompt_COMMAND
への変更でしょう?
history -a
コマンドは、履歴ファイルにのみ追加されます。シェルセッションからも読み取らない限り、これはシェルセッションには影響しません。だから、あなたが探しているのは:
Prompt_COMMAND="history -a; history -r"
help history
で説明されているように:
-r read the history file and append the contents to the history
list
この方法では、まず現在のシェルの履歴を$HISTFILE
に追加してから読み取り、他のシェルインスタンスから追加された履歴を現在のシェルにインポートします。
ある端末でコマンドを実行した場合、2番目の端末でコマンドを実行するまで、別の端末の履歴には表示されないことに注意してください。 $Prompt_COMMAND
はプロンプトが表示される前に実行されるため、2番目の端末が開いてそこに座っているだけの場合、2番目の端末で何かを実行して新しいプロンプトを実行するまで、最初の端末で実行された新しいコマンドは読み取られません。示されています。