
No Bash, você pode pressionar a seta para cima (e para baixo) para percorrer o histórico. Você pode então modificar o comando antes de executá-lo. Às vezes, modifiquei incorretamente o comando e desejo redefini-lo para o que estava originalmente no histórico. Existe uma maneira de fazer isso?
Tentei executar uma linha em branco e percorrer o histórico novamente, mas a linha pertinente permanece editada.
Responder1
Desfazer é Cx Cu (ou C-_, para o qual você pode ter que digitar C-/)
Responder2
O arquivo que contém o histórico do bash é "~/.bash_history", apropriadamente (pelo menos no Ubuntu, pode ser diferente em outros sabores). basta abri-lo com seu editor de texto favorito, observe que cada usuário deve ter seu próprio arquivo .bash_history. Observe também que o "." significa que é um arquivo oculto, portanto não aparecerá em um navegador de arquivos ou com o comando ls, a menos que você o use com -a.
Responder3
Esta ligação impedirá que alterações não executadas no histórico substituam os originais:
bind 'set revert-all-at-newline on'
Exemplo:
- Executar
ls
- Pressione a seta para cima
- Adicione
-Al
à linha - Pressione a seta para baixo
- Pressione Return (para tentar cancelar a alteração)
Sem esta ligação:
ls
será substituído no histórico por ls -Al
, mesmo que nunca tenha sido executado.
Com esta ligação:
O não executado ls -Al
desaparecerá, enquanto ls
permanece.
Obviamente, isso significa que alterações não executadas no históriconuncaser salvo (como o comportamento padrão do zsh). Se você deseja apenas os originais restauradosàs vezes, você terá que escolher uma das outras respostas.