
En Bash, puedes presionar la flecha hacia arriba (y hacia abajo) para recorrer el historial. Luego puede modificar el comando antes de ejecutarlo. A veces he modificado incorrectamente el comando y deseo restablecerlo a lo que estaba originalmente en el historial. ¿Hay alguna forma de hacer esto?
Intenté ejecutar una línea en blanco y luego recorrer el historial nuevamente, pero la línea pertinente permanece editada.
Respuesta1
Deshacer es Cx Cu (o C-_, para lo cual es posible que tengas que escribir C-/)
Respuesta2
El archivo que contiene el historial de bash es "~/.bash_history", apropiadamente (al menos en ubuntu, puede ser diferente en otras versiones). simplemente ábrelo con tu editor de texto favorito, ten en cuenta que cada usuario debe tener su propio archivo .bash_history. También tenga en cuenta que el "." anterior significa que es un archivo oculto, por lo que no aparecerá en un explorador de archivos ni con el comando ls a menos que lo use con -a.
Respuesta3
Este enlace evitará que las modificaciones del historial no ejecutadas sobrescriban los originales:
bind 'set revert-all-at-newline on'
Ejemplo:
- Ejecutar
ls
- Presione la flecha hacia arriba
- Añadir
-Al
a la línea - Presione la flecha hacia abajo
- Pulsa Retorno (para intentar cancelar el cambio)
Sin este enlace:
ls
será reemplazado en el historial por ls -Al
, aunque nunca se ejecutó.
Con esta vinculación:
Lo no ejecutado ls -Al
desaparecerá, mientras ls
permanezca.
Obviamente, esto significa que las alteraciones del historial no ejecutadasnuncaguardarse (como el comportamiento predeterminado de zsh). Si solo quieres restaurar los originalesa veces, tendrás que optar por una de las otras respuestas.