Nie wiem, czy się tego spodziewam, ale moja historia nie jest zapisywana między sesjami. To znaczy, jeśli zamknę okno, to kiedy je otworzę ponownie, historia jest pusta. Jak mogę zachować to podczas sesji?
Oto wyniki zadanych poleceń:
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
Po zmianach opisanych w odpowiedzi poniżej otrzymuję:
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.
Nadal nie mogę zapisać historii między sesjami. Czytam następujące pytania:
- Utrata historii Bash podczas korzystania z histappend
- Jak zapobiec zmianie historii przez Bash?
- Co decyduje o tym, co pojawia się w poleceniu historii bash?
- Jak zachować moją historię bashów między sesjami?
- regularnie zapisuj historię bash
Wydawało się, że nikt nie odnosi się do mojego problemu, w tym odpowiedź poniżej osoby, na którą pytanie padło z rzekomego duplikatu.
~/.bashrc
: export HISTFILE="~/history"
. Czy to robi różnicę?