Mac で Terminal のタブの history を共有させる。

基本的には、これを見れば行けます。ありがとうございます(`・ω・´)ゞ
iandeth. - bashにて複数端末間でコマンド履歴(history)を共有する方法
 


Step1. ~/.bash_profile, ~/.bash_login, ~/.profile のうち、どれがあるか確認
書き込み先を間違えると.bash_profileがあるとMacPortsでインストールしたパッケージが見えなくなると言った症状が発生します。

自分も書き込み先を誤って Mac Ports でインストールした Python 3.3 がいきなり 2.7 に戻ったり、Port コマンドが使えなくなったりで焦りました。

~/.bash_profile ユーザー固有の環境変数と起動プログラムを記述します。
~/.bash_login ~/.bash_profileが存在しないとき、
代わりに呼び出されます。
~/.profile ~/.bash_profile,~/.bash_loginともに存在しないとき、
代わりに呼び出されます。

 


Step2. source .bashrc を追記
~/.profile があれば ~/.profile に、無ければ ~/.bash_login に、無ければ ~/.bash_profile に書き込みます。

書き込んであげないと~/.bashrc が反映されないといった症状が発生します。

$ vi ~/.bash_profile 
source ~/.bashrc

 


Step3. コマンドを実行する度に読み込まれる ~/.bashrc に次の内容を追記します。
以下の内容は、参考にしているサイトからの引用になります。bashにて複数端末間でコマンド履歴(history)を共有する方法

function share_history {  # 以下の内容を関数として定義
    history -a  # .bash_historyに前回コマンドを1行追記
    history -c  # 端末ローカルの履歴を一旦消去
    history -r  # .bash_historyから履歴を読み込み直す
}
PROMPT_COMMAND='share_history'  # 上記関数をプロンプト毎に自動実施
shopt -u histappend   # .bash_history追記モードは不要なのでOFFに
export HISTSIZE=9999  # 履歴のMAX保存数を指定

HISTFILE=~/.bash_history # session を restore した時に history が効かなくなります。これをしないと。

その他、参考サイト
Mac の Terminal の設定を保存する方法がありましたら、ご教示い… - 人力検索はてな
何気なく使ってるhistoryコマンドについてちょっと調べてみた。Macの。 - kanonjiの日記
コマンド履歴の達人を目指してみる - ザリガニが見ていた...。

Remove all ads