Como eu faço a minha sessão de login bash “autosave” sua história? [duplicado]

0

IIANM, o bash salva seu histórico em ~/.bash_history (ou em $HISTFILE ) ao sair de uma sessão de shell de login. Mas - e se você quiser ocasionalmente persistir por medo de que a casca seja prematuramente morta (como no SIGKILL ou falha de energia)? Isso é possível sem sobrecarregar o sistema ou a experiência da sessão de shell?

    
por einpoklum 03.05.2018 / 08:48

1 resposta

0

Por padrão, o Bash salva seu histórico ao sair do shell. Assim, ele perderá sua história atual se for morto sem graça.

Você pode salvar seu histórico atual de Bash executando:

$ history -a

Sabendo disso, você pode fazer com que o Bash salve sua história após cada comando executado, executando history -a após cada comando executado. Uma maneira de fazer é através do prompt do Bash:

PROMPT_COMMAND='history -a'

Isso funciona porque o prompt do Bash executará $PS1 , $PROMPT_COMMAND e mais, em cada novo prompt.

Aqui está uma ótima postagem do blog que me deu a idéia: link

    
por 03.05.2018 / 10:23