~/.bash_history
ターミナルセッション中に最近のコマンドを検索しようとしましたが、それらが見つかりませんでした。これは、複数のターミナルセッションを開いているためだと思います。
現在のターミナルセッションのコマンド履歴を(セッションを閉じてその環境を失うことなく)bash_historyファイルに同期(つまり、sync-pushまたはsync-write-out)できる方法はありますか?
(sync
コマンドが一部のシステムでファイルシステムの変更を保存する方法とは、リモートで似ています。)
複数のセッション履歴を保持するようにbashを設定できると思いますが、現在の履歴バッファーをプッシュする機能は、新しいマシンで作業していて、誤ってbashを希望どおりに設定し忘れた場合でも役立ちます。
この行をに追加し.bashrc
ます:
export PROMPT_COMMAND="history -a; history -n"
新しいターミナルを開いて確認します。
説明
history -a
履歴ファイルに新しい履歴行を追加します。history -n
bash
履歴ファイルからセッションの現在の履歴リストに読み取られていない行を読み取るように指示します。PROMPT_COMMAND
:この変数の内容は、showpromptの前に通常のコマンドとして実行されbash
ます。したがって、コマンドを実行した後、history -a; history -n
が実行され、bash
履歴が同期されるたびに。この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加