Por motivos que me escapam parcialmente (e estão fora do escopo desta pergunta), meu arquivo de histórico Zsh ficou corrompido. Tenho várias sessões abertas que têm o histórico na memória. Existe uma maneira de recuperar o arquivo de histórico (no formato correto) do que está na memória?
Enquanto a saída dos comandos history
ou fc
se parece com isso (por padrão, pelo menos)
57694 type -a ssh-keygen
57695 ssh -v localhost
enquanto o arquivo estiver em um formato como
: 1545938685:133;vim ~/.zshrc
: 1545938820:0;exit
(Obviamente, essas não são as mesmas entradas - apenas as forneço para exibir o formato e, portanto, o problema que estou enfrentando.)
Existe alguma maneira de fc
exibir todos os dados que eu precisaria para recriar o arquivo de histórico como era antes de ser corrompido?
(Se isso não for possível, posso recuperar a maior parte de uma unidade de backup, é claro, mas prefiro recuperar tudo, e seria útil saber como fazer isso no futuro.)
Cavando na
ZSHBUILTINS(1)
página de manual do , descobri que:grava em um arquivo o histórico exatamente no mesmo formato em que foi salvo
zsh
em~/.zsh_history
. Isso funcionará desde que você tenha uma sessão de shell que ainda tenha o histórico na memória.