Raspberry Pi[62] ラズパイで複数コンソール間の履歴が共有できない問題
🔍【原因の調査でわかったこと】
✅ Bashの履歴動作仕様
history
コマンドは現在のシェルセッションの履歴バッファのみ表示.bash_history
はセッション終了時に保存されるのがデフォルト(共有されにくい)
✅ 設定で改善を試みたが…
.bashrc
に以下の設定を追加しても:
PROMPT_COMMAND="history -a; history -c; history -r"
shopt -s histappend
export HISTFILESIZE=10000
export HISTSIZE=10000
→ それでもターミナルBにすぐには反映されないという現象が続いた
💡【判明した仕様のポイント】
PROMPT_COMMAND
は、コマンドを実行したあとに(=次のプロンプト表示時に)実行される- つまり:
- Aで
history -a
により履歴が保存されても、 - Bは何か1回でもコマンドを打たないと
history -r
が発動しない
- Aで
✅【最終結論】
.bashrc
に設定を入れておけば、履歴共有はできる- ただし、新しく開いたターミナルでは、履歴を自動で即時読み込むことはできない
- Enterキーで1回プロンプトを更新することで履歴同期が完了する