¿Cómo recuerdo un comando específico del historial de comandos, sin ejecutarlo?


13

Por ejemplo, en bash puedo escribir !xyzlo que ejecutará el último comando que escribí comenzando con xyz.

¿Cómo puedo mostrar el último comando que escribí comenzando xyzpero sin ejecutarlo?
por ejemplo, así puedo cambiar los parámetros antes de la ejecución ...

Respuestas:


20

Puede hacerlo así: en el símbolo del sistema, presione Ctrl+ ry luego escriba el comando que desea recuperar, en su caso xyz. Esto le mostrará el comando completo sin ejecutarlo.


1
Más útil que la !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.
kubanczyk

12

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 el rsync ...comando más reciente , retrocedió y ejecutó uno rm *que había sido empujado a la pila más recientemente que el rsync.


Gracias, esa es una buena práctica. He hecho lo mismo con un rm -rf ./*nunca tan agradecido por un período. FYI !xyz:pFuncionó, gracias, pero requirió algunas teclas adicionales que la solución ctrl-r.
Mtl Dev

@MtlDev sí; Creo que la solución ^ R funciona mejor para EMACStodos, mientras que! -Path funciona mejor para violators como yo.
MadHatter

1
  1. 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-

  2. 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.


1
¡El primer comando es tan suave! Creo que es más rápido cuidar el comando en la historia que escribir todo esto ^ __ ^
Grajdeanu Alex.

1

Si la búsqueda de historial inverso falla, haga algo de:

$ history | grep WHAT_YOU_LOOK_FOR

O:

$ grep WHAT_YOU_LOOK_FOR ~/.bash_history
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.