Réponses:
Vous pouvez utiliser $_
ou !$
pour rappeler le dernier argument de la commande précédente.
Alt + .
Peut également être utilisé pour rappeler le dernier argument de l'une des commandes précédentes.
!!:1
, !!:2
etc. ( !!:0
est la commande précédente lui - même.) Voir gnu.org/software/bash/manual/bashref.html#History-Interaction
!$
, vous utilisez !^
pour le premier argument.
echo tiger rabbit
, comment puis-je me référer tiger
à la commande suivante?
Alt + .
ne fonctionne pas en mode vi. Juste pour info, pour les autres qui étaient confus ici.
Si la commande précédente avait deux arguments, comme celui-ci
ls a.txt b.txt
et vous vouliez le premier, vous pouvez taper
!:1
donnant
a.txt
Ou si vous vouliez les deux, vous pouvez taper
!:1-2
donnant
a.txt b.txt
Vous pouvez l'étendre à n'importe quel nombre d'arguments, par exemple:
!:10-12
-bash: :1-2: bad word specifier
ls a.txt
ligne 2ll !:1-2
!:^-$
peut être utilisé ou bien sûr un code similaire en combinaison avec des nombres.
!!:n
où n
est la position 0 de l'argument souhaité.
Par exemple:
echo 'one' 'two'
# "one two"
echo !!:2
# "two"
Le !
préfixe est utilisé pour accéder aux commandes précédentes.
Autres commandes utiles:
!$
- dernier argument de la commande précédente!^
- premier argument (après le programme / intégré / script) de la commande précédente!!
- commande précédente (souvent prononcée "bang bang")!n
- numéro n
de commande dehistory
!pattern
- correspondance de commande la plus récente pattern
!!:s/find/replace
- dernière commande, remplacer find
parreplace
!!:s/find/replace
, vous pouvez également ^find^replace
.
!*
- tous les arguments de la commande précédente (après le programme / intégré / script). par exemple: ls *.tmp *.cache rm !*
Dans la ligne de commande, vous pouvez appuyer sur esc- .ou alt+.
Il parcourt le dernier argument de vos commandes précédentes.
↑
et ↓
fonctionnent également.
Si vous connaissez le numéro donné dans l'historique pour une commande particulière, vous pouvez à peu près prendre n'importe quel argument de cette commande en utilisant les termes suivants.
Utilisez ce qui suit pour prendre le deuxième argument de la troisième commande de l'historique,
!3:2
Utilisez ce qui suit pour prendre le troisième argument de l'avant-dernière commande de l'historique,
!-5:3
En utilisant un signe moins, vous lui demandez de parcourir la dernière commande de l'historique.
! * exécute une nouvelle commande avec tous les arguments précédents.
ls /tmp
cd !*
#you are now in /tmp
$_
place.
Oui, vous pouvez utiliser !$
pour rappeler le dernier argument de la commande précédente.