'reverter' bash para pesquisar o arquivo de histórico correto [fechado]

1

Espero que isso faça sentido enquanto explico, por favor, tenha paciência comigo!

Recentemente, decidi que seria uma boa ideia começar a fazer o backup do meu histórico, e fiz isso com o seguinte, adicionado a .bashrc :

 export HISTFILE=~/.history/'date +%Y%m%d'.hist
 export HISTSIZE=100000

Não tem problema, parece fazer o que diz que deve fazer.

No entanto, notei hoje (depois do meu primeiro log de volta ao shell desde que o defini) que o meu histórico real como recuperado por history (ou quando aplicando grepping para patterns dentro), só mostrava meus comandos desde o log in , era como se o backup também tivesse apagado .bash_history .

Quando inspecionei .bash_history manualmente com less , estava tudo lá como eu esperava que fosse.

ou seja, a saída de um tail para history é:

wms_joe@Esau:~$ history | tail
48  past dir
49  ll
50  less .bash_history
51  tail .bash_history
52  cp .bash_history history_backup
53  past usearch
54  less ~/.bashrc
55  history
56  tail history
57  history | tail

Mas um tail para .bash_history dá:

wms_joe@Esau:~$ tail .bash_history
cd prot_all/
ls
find . -type f -name *.txt -print0 | xargs -0 sed -i /XBW1/d
find . -type f -name '*.txt' -print0 | xargs -0 sed -i /XBW1/d
less PAU_03392_out.txt
less ../../PVC_operons/prot_all/PAU_03392_out.txt
past cut
less PAU_03392_out.txt
cut -f3 PAU_03392_out.txt | bc
less PAU_03392_out.txt

E estes são arquivos, etc. Eu sei que estava trabalhando recentemente, e seus IDs de comando devem estar na região de 4000-5000, e não 50 ou mais.

Então, minha pergunta é: como fazer com que history olhe para a coisa certa de novo? Ou posso de alguma forma mesclar o conteúdo de .bash_history de volta para o histórico para que seja recuperado pelo comando corretamente? Não sei exatamente o que fiz!

EDIT - pergunta foi colocada em espera como claro, o que exatamente não está claro?

    
por Joe Healey 02.04.2016 / 21:24

1 resposta

1

Você deve definir HISTSIZE=0 para fechar o antigo $HISTFILE antes de fazer as alterações. Veja man bash .

    
por 03.04.2016 / 00:23

Tags