¿Cómo puedo recordar el argumento del comando bash anterior?

Resuelto The Coder asked hace 14 años • 7 respuestas

¿Hay alguna manera en Bash de recordar el argumento del comando anterior?

Normalmente lo hago vi file.cseguido de gcc file.c.

¿Hay alguna manera en Bash de recordar el argumento del comando anterior?

The Coder avatar Jul 30 '10 19:07 The Coder
Aceptado

Puede utilizar $_o !$para recuperar el último argumento del comando anterior.

También se puede utilizar Alt+ para recuperar el último argumento de cualquiera de los comandos anteriores..

codaddict avatar Jul 30 '2010 12:07 codaddict

Si el comando anterior tenía dos argumentos, como este

ls a.txt b.txt

y querías el primero, podías escribir

!:1

donación

a.txt

O si quisieras ambos, puedes escribir

!:1-2

donación

a.txt b.txt

Puede extender esto a cualquier número de argumentos, por ejemplo:

!:10-12
Robert Gowland avatar Jul 30 '2010 13:07 Robert Gowland

!!:n¿Dónde nestá la posición basada en 0 del argumento que desea?

Por ejemplo:

echo 'one' 'two'
# "one two"

echo !!:2
# "two"

El !prefijo se utiliza para acceder a comandos anteriores.

Otros comandos útiles:

  • !$- último argumento del comando anterior
  • !^- primer argumento (después del programa/integrado/script) del comando anterior
  • !*- todos los argumentos del comando anterior
  • !!- comando anterior (a menudo pronunciado "bang bang")
  • !n- número de comando ndehistory
  • !pattern- coincidencia de comandos más recientepattern
  • !!:s/find/replace- último comando, sustituir findconreplace
Johntron avatar Apr 15 '2016 18:04 Johntron

En la línea de comando, puede presionar alt+ .o esc-.

Pasa por el último argumento de sus comandos anteriores.

Antonio Mano avatar Jul 30 '2010 17:07 Antonio Mano

Si conoce el número dado en el historial para un comando en particular, puede tomar prácticamente cualquier argumento en ese comando usando los siguientes términos.

Utilice lo siguiente para tomar el segundo argumento del tercer comando en el historial,

!3:2

Utilice lo siguiente para tomar el tercer argumento del quinto último comando del historial,

!-5:3

Usando un signo menos, le pide que recorra desde el último comando del historial.

Madisz avatar Apr 23 '2014 17:04 Madisz