Comment relancer une commande dans l’historique du shell ZSH sur macOS

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.

Laisser un commentaire