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, !!:2etc. ( !!:0est 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.txtligne 2ll !:1-2
!:^-$peut être utilisé ou bien sûr un code similaire en combinaison avec des nombres.
!!:noù nest 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 nde commande dehistory!pattern - correspondance de commande la plus récente pattern!!:s/find/replace- dernière commande, remplacer findparreplace!!: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.