Я не знаю, ожидается ли это, но моя история не сохраняется между сеансами. Это означает, что если я закрою окно, то при повторном его открытии история будет пустой. Как я могу сохранить это через сеансы?
Вот результаты заданных вами команд:
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.
Я все еще не могу сохранить историю между сеансами. Я читаю следующие вопросы:
- Потеря истории Bash при использовании histappend
- Как не дать Bash изменить историю?
- Что определяет то, что появляется в команде bash history?
- Как мне сохранить историю bash между сеансами?
- сохранить историю Bash, регулярно
Похоже, никто не решил мою проблему, включая ответ ниже от того самого человека, которому ответили на вопрос от предполагаемого дубликата.
Также посмотрите мой вопрос здесь и вопросы, на которые он ссылается. Попробуйте предложения в них и спросите еще раз, если у вас все еще есть проблемы. В то время голосование закрывалось как дубликат.
—
Terdon
редактировать: set -o | grep history показывает, что история включена, echo $ HISTFILE показывает ~ / .bash_history, echo $ HISTSIZE и $ HISTFILESIZE оба показывают 500. Но история все еще не сохраняется между сеансами
—
Car981
$ HISTFILE установлен в ~ / .bash_history, но в ~ нет файла .bash_history. Как это может быть ?
—
Car981
Пожалуйста, отредактируйте свой вопрос, чтобы добавить новую информацию, а не комментировать. Включить вывод этих команд:
—
Terdon
set -o | grep history
, grep -i history ~/.bashrc ~/.bash_profile ~/etc/bash.bashrc ~/etc/profile ~/.profile
и ls -la ~/ | grep history
.
Попробуйте установить историю конкретного файла, добавьте следующую строку в файл
—
Terdon
~/.bashrc
: export HISTFILE="~/history"
. Это имеет значение?