Erneutes Ausführen des letzten Befehls beim Ersetzen von Syntax oder Tippfehlern

Wenn Sie jemals einen langwierigen Befehl in das Terminal eingegeben haben und bei der Ausführung einen Syntaxfehler, eine "keine solche Datei oder Verzeichnis" oder "Befehl nicht gefunden" Nachricht wegen eines Tippfehlers entdeckt haben, werden Sie diesen schnellen Tipp lieben lässt Sie den zuletzt ausgeführten Befehl erneut ausführen, während die fehlerhafte Syntax ersetzt wird. Sie müssen die Standard-Bash-Shell verwenden, damit dies funktioniert.

Die allgemeine Syntax lautet wie folgt:

!!:gs/old/new

!! führt den letzten Befehl erneut aus, während: gs / old / new im letzten Befehl Instanzen des Textes "alt" durch "neu" ersetzt.

Zum Beispiel ist hier ein einfacher Befehl zum Ändern des Verzeichnisses mit einem Fehler im Pfad:

cd /System/Library/CoerServices/Dock.app/Contents/

Hinweis "CoerServices" sollte "CoreServices" sein, aber anstatt den gesamten Befehl und Pfad erneut einzugeben, können Sie Folgendes eingeben:

!!:gs/Coer/Core/

Und plötzlich bist du im richtigen Verzeichnis.

Dies ist natürlich sehr nützlich, wenn Sie Fehler entdeckt haben, die irgendwo in der Befehlszeilensyntax schweben, aber es ist auch perfekt zum Ein- und Ausschalten von Einstellungen wie Standard-Schreibbefehlen durch Ersetzen von "Nein" durch "Ja" und so weiter:

!!:gs/no/yes

Sie können auch Sudo vor !! um den vorherigen Befehl als root auszuführen.