ブログ - ほぼリアルタイムにコマンドヒストリを.bash_historyに書き出す
bashを使っていて,思ったようにコマンド履歴が保存されてないなと思う事があるんだけど,ちゃんと調べたらコマンドヒストリは,バッファに入っていて,bashを終了させる時に.bash_historyに書き出されるのだそうです.
長時間ターミナルを開いていてタイムアウトで切断したような時は,終了処理されてないので消えちゃうんでしょう.
それで,以下のようなおまじないをしておくと,ほぼリアルタイムに.bash_historyに書き出されます.
複数ターミナルを開いていると体系だった参照ができないけれど,そんな事よりはコマンド履歴を他のターミナルでも共有できるメリットがあるね.あと,
意図せず失わないという事もね.
長時間ターミナルを開いていてタイムアウトで切断したような時は,終了処理されてないので消えちゃうんでしょう.
それで,以下のようなおまじないをしておくと,ほぼリアルタイムに.bash_historyに書き出されます.
export PROMPT_COMMAND='history -a; history -r'
意図せず失わないという事もね.