Suite à quelques commentaires sur un précédent article je me suis décidé à faire celui ci pour préciser comment relancer une commande que vous avez exécuté dans le passé et qui se trouve dans votre historique. D’ailleurs n’oubliez pas que si vous avez besoin de toucher à ce fichier ou le récupérer, depuis macOS Catalina, il se trouve sous un autre nom. C’est différent de ce que l’on trouve habituellement sur une Ubuntu classique par exemple.
J’ai précisé que c’était pour le terminal dans macOS et donc effectué mes tests avec le shell ZSH mais cela devrait fonctionner sans le moindre problème avec le bash classique de Linux (Ubuntu par exemple) qui est très similaire et encore plus populaire.
Attaquons maintenant le vif du sujet, comme nous l’avons vu précédemment sur l’article parlant de l’historique du terminal et de comment rechercher vos commandes tapées, on commence avec un simple :
history
Qui dans mon cas renvoie pour l’exemple les lignes suivantes :
1001 ls -l 1002 brew update 1003 brew outdated 1004 brew upgrade 1005 brew services restart php 1006 php -v
Maintenant pour répondre à la question initiale de cet article, il suffit maintenant de faire par exemple :
!1002
Qui va alors me renvoyer le résultat suivant :
user@zonetuto.fr ~ % !1002 brew update Already up-to-date.
Autre petite chose à savoir qui peut s’avérer très pratique, si vous voulez relancer la dernière commande, vous pouvez faire : flèche du haut qui affichera alors votre dernière commande et vous pouvez alors la relancer. Mais il existe une autre technique qui découle des points d’exclamation vus plus haut :
user@zonetuto.fr ~ % !! brew update Already up-to-date.
Cette commande m’a donc une nouvelle fois relancé la dernière qui était mon brew update, cela dépend de vos habitudes, je suis un partisan de la flèche du haut pour être sur de bien relancer la bonne commande (surtout si elle peut être risquée). Enfin, si je relance un history j’obtiens donc :
1001 ls -l
1002 brew update
1003 brew outdated
1004 brew upgrade
1005 brew services restart php
1006 php -v
1007 history
1008 brew update
1009 brew update
De plus le fait de faire ceci vous remettra réellement la commande dans l’historique et pas le raccourci que vous avez utilisé pour la lancer, très propre ! N’hésitez pas à partager vos astuces dans les commandes ou d’éventuelles précisions ou corrections pour aider le plus grand nombre.