Por ejemplo, en bash puedo escribir !xyz
lo que ejecutará el último comando que escribí comenzando con xyz
.
¿Cómo puedo mostrar el último comando que escribí comenzando xyz
pero sin ejecutarlo?
por ejemplo, así puedo cambiar los parámetros antes de la ejecución ...
!
notación, porque puede presionar Ctrl-r varias veces para avanzar más en el historial de coincidencias. Cuando llegue al lugar adecuado, puede intentar ejecutar no con Enter sino con Ctrl-o para obtener muchas ganancias.Prueba
!xyz:p
; recordará el comando al principio de la historia sin ejecutarlo, por lo que, por ejemplo, la flecha hacia arriba puede acceder de inmediato a él para la edición interactiva.Como comentario, practico hacer esto cuando recuerdo comandos con una expresión regular que podría desenterrar algo dañino, desde que un apresurado
!r
, destinado a recordar elrsync ...
comando más reciente , retrocedió y ejecutó unorm *
que había sido empujado a la pila más recientemente que el rsync.fuente
rm -rf ./*
nunca tan agradecido por un período. FYI!xyz:p
Funcionó, gracias, pero requirió algunas teclas adicionales que la solución ctrl-r.EMACS
todos, mientras que! -Path funciona mejor paravi
olators como yo.Ejecute el siguiente comando. Se hará eco del último comando ejecutado. Puede copiar y editar el comando. Este comando probado en debian.
historia | cola -2 | grep -v historia | cortar -d '' -f4-
O bien, Mantenga presionada la tecla Ctrl + R y escriba la letra inicial de su último comando. Enumerará los comandos que ejecutó previamente en función de su entrada. Una vez que muestra el comando deseado, simplemente presione la flecha derecha para seleccionar ese comando.
fuente
Si la búsqueda de historial inverso falla, haga algo de:
O:
fuente