端末タブ間で履歴を共有する方法は?


23

通常、OS Xのターミナルで2つまたは3つのタブを使用しています。

少し不便な点は、デフォルトでは、タブがコマンド履歴を共有しないことです。したがって、別のタブで入力history | grep thingIamlooking forした前のコマンドを検索しても、見つかりません。

ターミナルタブで履歴を強制的に共有する方法はありますか、それとも他の「history_of_all_tabs」コマンドがありますか?

回答:


29

ターミナルのタブ間でのみ履歴を共有する方法はないと思いますが、ここに役立つものがあります。

履歴は、ターミナルではなくシェル(bash、tcsh、zshなど)によって処理されるものです。

すべてのターミナルウィンドウ(シェルインスタンス)で共有履歴を設定するのに役立ついくつかのオプションを次に示します。

これは.bashrcファイルのどこかに配置する必要があります。

export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
export HISTSIZE=100000                   # big big history
export HISTFILESIZE=100000               # big big history
shopt -s histappend                      # append to history, don't overwrite it

# Save and reload the history after each command finishes
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

1
+.5良い答え、+。5良い文法;)
マット

エルキャピタンでは、@ Lifelyのソリューションは機能しません。まったく。履歴ファイルの最大長ですら。2012年以降に新しいソリューションはありますか?(私は上記のコメントしていると思いますが、担当者を持っていない)
JPダフィー

1
これは、El Capitanで(.bash_profileに追加された)私の.bash_profileにエクスポートSHELL_SESSION_HISTORY = 0が追加され、実行されています:touch〜/ .bash_sessions_disable
Andy

bashのUbuntu 18.04で
問題なく動作する-anon58192932
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.