web-dev-qa-db-fra.com

Comment persister l'histoire de Bash?

Je ne sais pas si cela est attendu, mais mon histoire n'est pas sauvée entre les sessions. C'est à dire, si je ferme la fenêtre, alors quand je l'ouvre à nouveau, l'histoire est vide. Comment puis-je le persister dans des sessions?

Voici les sorties des commandes que vous avez posées:

 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

Après les modifications décrites dans la réponse ci-dessous, je reçois maintenant:

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.

Je suis toujours incapable d'avoir une histoire sauvegardée entre les sessions. J'ai lu les questions suivantes:

Aucun n'a semblé aborder mon problème, y compris la réponse ci-dessous de la personne qui a répondu à la question de la duplication supposée.

9
Car981

Eh bien, ça ressemble à votre ~/.bashrc n'a pas les options nécessaires. Assurez-vous que ces lignes sont dans votre ~/.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
7
terdon