Come persistere la storia del bash?

Non so se questo è previsto, ma la mia storia non viene salvata in sessioni. Questo significa che, se chiudo la window, quando la apro di nuovo, la storia è vuota. Come posso persistere durante le sessioni?

Ecco le uscite dei comandi che hai chiesto:

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 

Dopo le modifiche descritte nella risposta in basso, ottengo ora:

 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. 

Non riesco ancora a salvare una storia durante le sessioni. Ho letto le seguenti domande:

  • Bash perdita di storia quando si utilizza histappend
  • Come impedire a Bash di modificare la storia?
  • Cosa determina ciò che viene visualizzato nel command bash history?
  • Come mantenere la mia storia bash durante le sessioni?
  • salvare la storia bash, regolarmente

Nessuno sembrava affrontare la mia questione, compresa la risposta di seguito, dalla stessa persona che aveva risposto alla loro domanda dal duplice supposto.

Beh, sembra che il tuo ~/.bashrc non disponga delle opzioni necessarie. Assicurarsi che queste righe siano nel tuo ~/.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 ho scoperto cosa c'è di sbagliato. Non riesco a chiudere la window, devo digitare 'uscire' per chiudere con grazia.