Recuperar o comando do terminal perdido após o travamento da sessão

2

Alguns dias atrás eu estava executando um longo comando usando o Guake (baixando um site com wget , com um conjunto intrincado de opções). Suspendi meu laptop antes de a operação terminar e não o usei por alguns dias. Infelizmente, minha bateria descarregou. Após o login novamente, o comando não aparece no arquivo .bash_history , portanto, ele não aparece no Guake ou em outro terminal ao usar .

Existe uma maneira de recuperar este comando? É talvez escrito em outro lugar? Parece não haver equivalente ao bash history na pasta Guake.

    
por luchonacho 11.11.2017 / 12:21

1 resposta

1

Não, provavelmente não há como recuperar esse comando. Por padrão, o arquivo ~/.bash_history é gravado somente quando você sai da sessão do shell. Aqui está uma passagem relevante do Manual do bash :

When a shell with history enabled exits, the last $HISTSIZE lines are copied from the history list to the file named by $HISTFILE. If thehistappend shell option is set (see Bash Builtins), the lines are appended to the history file, otherwise the history file is overwritten. If HISTFILE is unset, or if the history file is unwritable, the history is not saved. After saving the history, the history file is truncated to contain no more than $HISTFILESIZE lines. If HISTFILESIZE is unset, or set to null, a non-numeric value, or a numeric value less than zero, the history file is not truncated.

Dito isso, há coisas que você pode fazer se quiser evitar que essa situação ocorra no futuro. Você pode adicionar algo como o seguinte ao seu ~/.bash_profile :

shopt -s histappend
export HISTSIZE=-1
export HISTFILESIZE=-1
PROMPT_COMMAND='history -a;history -n'

Para uma discussão mais aprofundada sobre este tópico, consulte as seguintes postagens:

por 12.11.2017 / 05:42