Risposte:
È possibile utilizzare $_
o !$
per richiamare l'ultimo argomento del comando precedente.
Inoltre Alt + .
può essere usato per richiamare l'ultimo argomento di uno qualsiasi dei comandi precedenti.
!!:1
, !!:2
ecc. ( !!:0
È il comando precedente stesso.) Vedi gnu.org/software/bash/manual/bashref.html#History-Interaction
!$
, si utilizza !^
per il primo argomento.
echo tiger rabbit
, come posso fare riferimento tiger
al seguente comando?
Alt + .
non funziona in modalità vi. Cordiali saluti, per gli altri che erano confusi qui.
Se il comando precedente aveva due argomenti, in questo modo
ls a.txt b.txt
e volevi il primo, potresti scrivere
!:1
dando
a.txt
O se volessi entrambi, potresti digitare
!:1-2
dando
a.txt b.txt
Puoi estenderlo a qualsiasi numero di argomenti, ad esempio:
!:10-12
-bash: :1-2: bad word specifier
ls a.txt
linea 2ll !:1-2
!:^-$
può essere utilizzato o, naturalmente, un codice simile in combinazione con i numeri.
!!:n
dove si n
trova la posizione in base 0 dell'argomento desiderato.
Per esempio:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
Il !
prefisso viene utilizzato per accedere ai comandi precedenti.
Altri comandi utili:
!$
- ultimo argomento dal comando precedente!^
- primo argomento (dopo il programma / built-in / script) dal comando precedente!!
- comando precedente (spesso pronunciato "bang bang")!n
- numero comando n
dahistory
!pattern
- corrispondenza comandi più recente pattern
!!:s/find/replace
- ultimo comando, sostituirlo find
conreplace
!!:s/find/replace
, puoi anche ^find^replace
.
!*
- tutti gli argomenti del comando precedente (dopo il programma / built-in / script). es: ls *.tmp *.cache rm !*
Nella riga di comando è possibile premere esc- .o alt+.
Passa attraverso l'ultimo argomento dei comandi precedenti.
↑
e ↓
funzionanti.
Se conosci il numero indicato nella cronologia per un determinato comando, puoi praticamente prendere qualsiasi argomento in quel comando usando i seguenti termini.
Utilizzare il seguito per prendere il secondo argomento dal terzo comando nella cronologia,
!3:2
Usa il seguito per prendere il terzo argomento dal quinto ultimo comando nella cronologia,
!-5:3
Usando un segno meno, gli chiedi di attraversare dall'ultimo comando della storia.
! * esegue un nuovo comando con tutti gli argomenti precedenti.
ls /tmp
cd !*
#you are now in /tmp
$_
invece.
Sì, è possibile utilizzare !$
per richiamare l'ultimo argomento del comando precedente.