Wer regelmäßig unter Linux oder in WSL arbeitet, kennt die Situation: Ein Befehl wird eingegeben, anschließend erscheint die Meldung "Permission denied" oder "Operation not permitted". Der Grund ist in der Regel simpel: Es fehlen Root-Rechte.
Der Reflex vieler Anwender ist dann, den kompletten Befehl noch einmal einzugeben und davor ein sudo zu setzen:
sudo apt update
sudo mkdir /opt/test
Bei langen Befehlen kann das allerdings ziemlich lästig sein. Glücklicherweise gibt es einen kleinen Bash-Trick: sudo !!
Was macht !!?
Die Zeichenfolge !! steht in der Bash für den zuletzt ausgeführten Befehl.
Beispiel:
mkdir /opt/test
mkdir: cannot create directory '/opt/test': Permission denied
sudo !!
Die Shell ersetzt !! automatisch durch den vorherigen Befehl und führt effektiv Folgendes aus:
sudo mkdir /opt/test
Das spart Zeit und reduziert Tippfehler.
Noch praktischer: Das letzte Argument wiederverwenden
Neben !! gibt es einen weiteren hilfreichen Platzhalter:
!$
!$ steht für das letzte Argument des vorherigen Befehls.
Beispiel:
mkdir test1/test2/test3
Anschließend kann direkt in das neu angelegte Verzeichnis gewechselt werden:
cd !$
Die Shell erweitert dies zu: cd test1/test2/test3
Fazit
Die Bash-History bietet viele kleine Funktionen, die den Arbeitsalltag erleichtern. Gerade die beiden Platzhalter
- !! → letzter Befehl
- !$ → letztes Argument des vorherigen Befehls
gehören zu den Tricks, die man einmal lernt und anschließend nicht mehr missen möchte. Besonders bei administrativen Arbeiten auf Linux-Systemen oder in WSL können sie täglich einige Tastaturanschläge sparen und den Workflow beschleunigen.
Keine Kommentare:
Kommentar veröffentlichen