Très utile lorsque vous oubliez un sudo au début de votre commande, il !!
agit comme un alias de la commande précédente. Exemple :
$ mv /very/long/path/for/a/protected/sensible/file/caution.h .
(...) Permission denined
$ sudo !!
sudo mv /very/long/path/for(...) .
[sudo] password :
- Comment appelons-nous ce double
!!
tour? Les recherches sur Internet sont difficiles à cause de ce jeton. - Comment ça marche ? Je soupçonne un lien avec la commande history.
- Où est-ce défini? Puis-je définir un autre moi-même?
EDIT: Quelques désignateurs d’événements intéressants
!!:*
Il fait référence aux arguments de la commande précédente. Cas d'utilisation :
cat /a/file/to/read/with/long/path
nano !!:*
:p
Imprimez simplement la commande sans l'exécuter, vous devez la mettre à la fin du désignateur d'événement.
$ !-5:p
sudo rm /etc/fstab -f
Plus ici .
man history
!
une commande correspondante dans la liste d'historique du shell actuel.!!
est un cas spécial, équivalent à!-1
, où un nombre négatifn
après!
fait référence à la nième commande précédente.LESS='+/^HISTORY EXPANSION' man bash
.Réponses:
!!
est répertorié dans lebash
manuel sous le titre "Event Designators":Donc,
!!
sera remplacé par la commande précédente.Notez que l'historique du shell ne contiendra pas le littéral
!!
mais la commande réelle qui a été exécutée:la source