職場のコンピューターでは、新しいターミナルを開いたばかりでも、bashシェルは以前のセッションの履歴を記憶しています。
自宅のコンピューターでは、これは起こりません。
私は両方のマシンで同じOS 10.6.8を使用していますが、に履歴関連の設定はありません.bash_profile
。
セッション全体の履歴を記憶するために、これを自宅のコンピューターに設定するにはどうすればよいですか?
職場のコンピューターでは、新しいターミナルを開いたばかりでも、bashシェルは以前のセッションの履歴を記憶しています。
自宅のコンピューターでは、これは起こりません。
私は両方のマシンで同じOS 10.6.8を使用していますが、に履歴関連の設定はありません.bash_profile
。
セッション全体の履歴を記憶するために、これを自宅のコンピューターに設定するにはどうすればよいですか?
回答:
履歴ファイルを保存する場所と保存する行数をbashに指示する必要があります。
# Set the location of your HISTFILE
echo "export HISTFILE=/Users/<USERNAME>/.bash_history" >> ~/.bash_profile
# Number of lines to keep (1000 in this example)
echo "export HISTFILESIZE=1000" >> ~/.bash_profile
# Set how many commands to keep in the current session history list
echo "export HISTSIZE=80" >> ~/.bash_profile
# Ignore commands that start with a space
echo "export HISTIGNORE=\"&:[ ]*:exit\"" >> ~/.bash_profile
雇用主がMacを2台しか持っておらず、どちらも机の上に座っていないのに、同様の問題があることを発見しました。許容できないが、別の時間の戦い。
とにかく、自宅では、Mac Mini(MacBook Proから移行)は、設定.bashrc
やを行った後でも連携しませんでした.profile
。それから、私の~/.bash_history
ファイルが不思議なことにrootによって所有されていることを発見しました。これをしなければなりませんでした:
sudo -iu root
cd ~(myusername)
chown (myusername) .bash_history
(はい、少ないコマンドでできることはわかっています。習慣。)
その後、ターミナルを終了し、新しいターミナルを起動しました。すごい!以前に失われたあらゆる種類の歴史が急いで戻ってきました。なんて素敵だ。
これを読んでいる人は誰でも、この苦境に偶然身を置いています:0.2%。他の何かを熱心に「修正」するとき、私はこれをいじくり回したと確信しています。
私はこの問題を抱えていましたが、私にとってうまくいったの.bash_sessions_disable
は、ユーザーフォルダー(~/
)に呼び出されるファイルを作成することでした。
基本的に、OS X .bash_sessions
は各セッションのフォルダーに履歴ファイルを作成します(私の場合、各タブに1つ)。そして、これらのセッションを適切に閉じたとしても、OS Xはに履歴をリプレイしません.bash_history
。
作成すると、.bash_sessions_disable
この動作が無効になります。
touch ~/.bash_sessions_disable
.bash_history
すると、履歴を.bash_sessions/
フォルダーの下に保持するのではなく、単一の履歴を再生できるようになります。これが正解です。
SHELL_SESSION_HISTORY
記載されて/etc/bashrc_Apple_Terminal
いるように、0に設定するだけで、セッションごとのコマンド履歴動作をオフにすることができます。
このRedditスレッドからの回答は私を救った:
おそらくRVMが、bash_sessionsを実行するための出口「フック」を妨げています。.bash_profileの次の行をコメントアウトすると、機能するはずです。
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
私も同様の問題を抱えており、履歴は記録されていません。与えられた解決策は機能しませんでしたが、やっと問題が.bash_historyの欠落と同じくらい簡単であることがわかりました
ソリューションは、に行くことだった/home/[username]/
し、ファイルを追加します.bash_history
ので、
nano .bash_history
次に、ファイルに何かを入力し(そうでない場合は作成されません)、終了して保存します。この後、履歴は正常に機能し始めました。