Ich bin sehr verwirrt über meine Ubuntu-Terminalsitzung. Sie scheint Abschnitte in Befehlen zu ersetzen, !
die mit einer Zahl beginnen, gefolgt von scheinbar zufälligen Befehlen. Dies geschieht durch !87
Ersetzen durch screen -l
und auch durch !88
und Ersetzen durch ls
.
Alle Ideen, warum dies geschieht, wäre sehr dankbar.
command-line
bash
history
bash-history
usbpc102
quelle
quelle
Antworten:
Das ist
bash
die Geschichtserweiterung, zFührt den Befehl in der Verlaufszeile erneut aus
87
.Die Beschreibung dieser Funktion finden Sie im
man bash
Abschnitt „ERWEITERUNG DER GESCHICHTE“:Um also schnell den letzten Befehl aufzurufen, machen Sie
!-1
und für den fünftletzten Befehl!-5
. Ein praktisches Synonym für!-1
ist!!
- wenn Sie zB angerufen habenapt install something
und das vergessen habensudo
, führensudo !!
Sie einfach aus und Sie sind gut.Um eine Erweiterung des Verlaufs zu vermeiden, müssen Sie entweder das Ausrufezeichen mit einem Backslash (
\!
) oder einfache Anführungszeichen ('!'
) setzen.quelle
!
Ihren Befehlen eine Lektüre zukommen zu lassen und eine Erweiterung des Verlaufs zu vermeiden, müssen Sie sie in einfache Anführungszeichen setzen oder sie umgehen:foo '!87'
oderfoo \!87
. (doppelte Anführungszeichen erweitern auch den Inhalt.)