¿Cómo puedo recordar el argumento del comando bash anterior?
¿Hay alguna manera en Bash de recordar el argumento del comando anterior?
Normalmente lo hago vi file.c
seguido de gcc file.c
.
¿Hay alguna manera en Bash de recordar el argumento del comando anterior?
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..
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
!!:n
¿Dónde n
está 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 comandon
dehistory
!pattern
- coincidencia de comandos más recientepattern
!!:s/find/replace
- último comando, sustituirfind
conreplace
En la línea de comando, puede presionar alt+ .o esc-.
Pasa por el último argumento de sus comandos anteriores.
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.