Cette question a déjà une réponse ici:
- Terminal: préfixe commande précédente? 4 réponses
Habituellement, pour certaines commandes telles que apt-get install xxx
, J'oublie d'ajouter sudo
d'abord, alors je dois le retaper. Ce que je veux, c'est dans de tels cas, je tape simplement une commande simple, par exemple resudo
. Il sera sudo ma dernière commande sudo apt-get install xxx
. Est-ce possible en bash?
apt-*
en particulier, il y awajig
.Réponses:
Vous pouvez simplement utiliser bash
!!
: c’est un raccourci pour relancer la dernière commande.Quoi qu'il en soit, bash offre de nombreux raccourcis pour tout, vous pouvez simplement appuyer sur la flèche vers le haut (afin de récupérer la dernière ligne tapée), puis sur
^A
ouHome
et ajoutersudo
Là.Voici un aide-mémoire bash utile
la source
$()
évalue une commande, la remplace par le résultat de la commande. Vous avez juste besoin de faire:last_command=!!
sinon sinon!!
était par exempleecho Hello
,last_command=$(!!)
sera étendu àlast_command=hello
.!!
dans un script, il s'agirait de la dernière ligne de ce script, et non de la dernière chose que l'utilisateur exécutant le script a fait. Si vous essayez de faire un raccourci poursudo !!
, voir ma réponse ici pour savoir comment faire un alias de shell pour le faire.