이것이 예상되는지 모르겠지만 내 기록은 여러 세션에 저장되지 않습니다. 즉, 창을 닫으면 다시 열면 기록이 비어 있습니다. 여러 세션에서 어떻게 유지할 수 있습니까?
요청한 명령의 출력은 다음과 같습니다.
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 history 명령에 무엇이 표시됩니까?
- 여러 세션에서 bash 기록을 유지하려면 어떻게해야합니까?
- bash 기록을 정기적으로 저장하십시오.
중복 된 것으로 질문을받은 사람의 아래 답변을 포함하여 아무도 내 문제를 다루지 않는 것 같습니다.
답변
글쎄, ~/.bashrc
필요한 옵션이없는 것 같습니다 . 이 줄이 당신의 안에 있는지 확인하십시오 ~/.bashrc
:
# Make Bash append rather than overwrite the history on disk:
shopt -s histappend
# A new shell gets the history lines from all previous shells
PROMPT_COMMAND='history -a'
# Don't put duplicate lines in the history.
export HISTCONTROL=ignoredups
답변
OK 나는 무엇이 잘못되었는지 알았다. 창을 닫을 수 없습니다. 정상적으로 종료하려면 ‘종료’를 입력해야합니다.