9

Я не знаю, ожидается ли это, но моя история не сохраняется между сеансами. Это означает, что если я закрою окно, то когда я открою его снова, история будет пустой. Как я могу сохранить это через сеансы?

Вот результаты команд, которые вы просили:

 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.

Я все еще не могу сохранить историю между сеансами. Я читаю следующие вопросы:

Похоже, никто не решил мою проблему, включая ответ ниже от того самого человека, которому ответили на вопрос от предполагаемого дубликата.

2 ответа2

7

Ну, похоже, ваш ~/.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
6

Хорошо, я узнал, что не так. Я не могу закрыть окно, я должен напечатать «выход», чтобы оно закрылось изящно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .