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, !!:2ecc. ( !!: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 tigeral 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.txtlinea 2ll !:1-2
!:^-$può essere utilizzato o, naturalmente, un codice simile in combinazione con i numeri.
!!:ndove si ntrova 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 ndahistory!pattern - corrispondenza comandi più recente pattern!!:s/find/replace- ultimo comando, sostituirlo findconreplace!!: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.