Sehr nützlich, wenn Sie ein Sudo am Anfang Ihres Befehls vergessen haben und sich !!
wie ein Alias des vorherigen Befehls verhalten. Beispiel
$ mv /very/long/path/for/a/protected/sensible/file/caution.h .
(...) Permission denined
$ sudo !!
sudo mv /very/long/path/for(...) .
[sudo] password :
- Wie nennen wir diesen doppelten
!!
Trick? Recherchen über das Internet sind deshalb schwierig. - Wie funktioniert es ? Ich vermute einen Zusammenhang mit dem Befehl history.
- Wo ist es definiert? Kann ich selbst einen anderen definieren?
EDIT: Einige interessante Eventbezeichner
!!:*
Es verweist auf die Argumente des vorherigen Befehls. Anwendungsfall :
cat /a/file/to/read/with/long/path
nano !!:*
:p
Drucken Sie den Befehl einfach aus, ohne ihn auszuführen. Sie müssen ihn am Ende des Ereignisbezeichners einfügen.
$ !-5:p
sudo rm /etc/fstab -f
man history
!
einem übereinstimmenden Befehl in der Verlaufsliste der aktuellen Shell beginnt .!!
Dies ist ein Sonderfall, der dem entspricht!-1
, bei dem einen
nachstehende negative Zahl!
auf den n-ten vorherigen Befehl verweist.LESS='+/^HISTORY EXPANSION' man bash
.Antworten:
!!
ist imbash
Handbuch unter der Überschrift "Event Designators" aufgeführt:So
!!
wird mit dem vorherigen Befehl ersetzt werden.Beachten Sie, dass der Shell-Verlauf nicht das Literal,
!!
sondern den tatsächlich ausgeführten Befehl enthält:quelle