質問: 複数のターミナルウィンドウでbash履歴を保持する 常に複数のターミナルを開いています。 2から10のどこでも、さまざまな小技やボブを行います。ここで、別の端末セットを再起動して開いたとします。特定のことを覚えている人もいれば、忘れている人もいます。次のような履歴が必要です。 すべての端末からすべてを覚えています すべての端末から即座にアクセスできます(たとえば、1つの端末でlsを実行している場合は、既に実行中の別の端末に切り替えてから上に押すと、lsが表示されます) コマンドの前にスペースがある場合は、コマンドを忘れないでください。 もっとbashをそのように機能させるために私ができることは何ですか?
回答: ここに私が使用する代替案があります。面倒ですが、@ axel_cが言及した、各端末で個別の履歴インスタンスを作成したい場合がある問題(1つはmake、もう1つは監視、vimなど)に対処します。常に更新する個別の履歴ファイルを保持しています。以下をホットキーにマッピングしました:history | grep -v history >> ~/master_history.txt これにより、現在の端末からのすべての履歴がホームディレクトリのmaster_history.txtというファイルに追加されます。マスター履歴ファイルを検索するための別のホットキーもあります。cat /home/toby/master_history.txt | grep -i 猫を使う|カーソルを最後に置いて正規表現に入るので、grep。これを行うためのそれほど醜くない方法は、これらのタスクを実行するためにパスにいくつかのスクリプトを追加することですが、ホットキーは私の目的のために機能します。また、定期的に履歴を他のホストから取得し、その履歴をmaster_history.txtファイルに追加します。使用したトリッキーな正規表現や、7か月前に思いついた奇妙なperlワンライナーをすばやく検索して見つけることができるのは、いつも素晴らしいことです。