Ré-exécuter la dernière commande en remplaçant la syntaxe ou les fautes de frappe
Si vous avez déjà entré une longue commande dans le terminal et que, lors de son exécution, vous avez découvert une erreur de syntaxe, un message "aucun fichier ou répertoire de ce type" ou "commande non trouvée" parce que vous avez fait une faute de frappe, vous adorerez ce conseil rapide qui vous permet de relancer la dernière commande exécutée tout en remplaçant la syntaxe erronée. Vous devrez utiliser le shell bash par défaut pour que cela fonctionne.
La syntaxe générale à utiliser est la suivante :
!!:gs/ancien/nouveau
! ! exécute à nouveau la dernière commande, tandis que :gs/old/new remplace les instances du texte "ancien" par "nouveau" dans la dernière commande.
Par exemple, voici une simple commande de changement de répertoire avec une erreur dans le chemin d'accès :
cd /System/Library/CoerServices/Dock.app/Contents/
Notez que "CoerServices" doit être "CoreServices", mais plutôt que de retaper la commande et le chemin d'accès en entier, vous pouvez entrer ce qui suit :
!!:gs/Coer/Core/
Et soudain, vous êtes dans le bon répertoire.
C'est évidemment extrêmement utile lorsque vous avez découvert des erreurs flottant quelque part dans la syntaxe de la ligne de commande, mais c'est également parfait pour activer et désactiver des paramètres comme les commandes d'écriture par défaut en remplaçant "non" par "oui", etc :
!!:gs/non/oui
Vous pouvez également placer sudo devant ! ! pour exécuter la commande précédente en tant que root.