これが予想されるかどうかはわかりませんが、私の履歴はセッション間で保存されません。つまり、ウィンドウを閉じてからもう一度開くと、履歴は空です。どのようにしてセッション間で永続化できますか?
あなたが尋ねたコマンドの出力は次のとおりです:
set -o | grep history
history on
$ grep -i history ~/.bashrc ~/.bash_profile ~/etc/bash.bashrc ~/etc/profile ~/.profile
/cygdrive/c/cygwin/home/car/.bashrc:# Make bash append rather than overwrite the history on disk
/cygdrive/c/cygwin/home/car/.bashrc:# History Options
/cygdrive/c/cygwin/home/car/.bashrc:# Don't put duplicate lines in the history.
/cygdrive/c/cygwin/home/car/.bashrc:# export PROMPT_COMMAND="history -a"
grep: /cygdrive/c/cygwin/home/car/etc/bash.bashrc: No such file or directory
grep: /cygdrive/c/cygwin/home/car/etc/profile: No such file or directory
/cygdrive/c/cygwin/home/car/.profile:if [ "x$HISTFILE" == "x/.bash_history" ]; then
/cygdrive/c/cygwin/home/car/.profile: HISTFILE=$HOME/.bash_history
$ ls -la ~/ | grep history -> no output
$ echo $HISTFILE
~/.bash_history
$ echo $HISTSIZE
500
$ echo $HISTFILESIZE
500
以下の回答で説明されている編集の後、私は今得ます:
grep -i hist .bashrc
# Make bash append rather than overwrite the history on disk
shopt -s histappend
# History Options
# Don't put duplicate lines in the history.
export HISTCONTROL="ignoredups"
# (added) A new shell gets the history lines from all previous shells
PROMPT_COMMAND='history -a'
# HISTIGNORE is a colon-delimited list of patterns which should be excluded.
それでも、セッション間で履歴を保存することはできません。私は次の質問を読みました:
- histappendを使用するとBash履歴が失われる
- Bashが履歴を変更しないようにするにはどうすればよいですか?
- 何がbash historyコマンドに何を表示するかを決定しますか?
- セッション間でbash履歴を保持するにはどうすればよいですか?
- bashの履歴を定期的に保存する
疑わしい重複から質問を回答させたまさにその人からの以下の回答を含め、誰も私の問題に対処していないようです。
こちらの私の質問と、リンクされている質問もご覧ください。それらの提案を試してみて、それでも問題が解決しないかどうか尋ねてください。emantimeでは、複製として閉じることを投票します。
—
terdon 2013
編集:set -o | grep historyは履歴がオンであることを示し、echo $ HISTFILEは〜/ .bash_historyを示し、echo $ HISTSIZEと$ HISTFILESIZEは両方とも500を示します。ただし、履歴はセッション間で永続化されません
—
Car981
$ HISTFILEは〜/ .bash_historyに設定されていますが、〜には.bash_historyファイルがありません。どうすればいいの ?
—
Car981 2013
コメントではなく、質問を編集して新しい情報を追加してください。これらのコマンドの出力を含めます:
—
terdon 2013
set -o | grep history
、grep -i history ~/.bashrc ~/.bash_profile ~/etc/bash.bashrc ~/etc/profile ~/.profile
およびls -la ~/ | grep history
。
あなたに次の行を追加し、特定の履歴ファイルを設定してみてください
—
terdon 2013
~/.bashrc
:export HISTFILE="~/history"
。違いはありますか?