Grundsätzlich wird es beim Rütteln verwendet vorherige (Kommandos) Argumente .
Zum Beispiel, wenn der folgende Befehl ausgegeben wird:
echo Hello, world how are you today?
dann, Hello,
wird das erste Argument sein, und today?
die sechste das ist die letzte; das heißt, sie kann durch Tippen referenziert werden:
Alt+6 gefolgt von Ctrl-Alt-6
Ctrl wird traditionell mit einem Hutzeichen bezeichnet ^
den Namen der Schlüssel vorangestellt, und Alt como M-
das ist M eta Vorwahl.
Die obige Abkürzung kann also wie folgt umdefiniert werden ^My
zu zerreißen.
Außerdem gibt es Hüte Substitutionskürzel in der Befehlszeile:
echo Hello, world!
^Hello^Bye
Bye, world!
um den vorherigen Befehl durch den Befehl erste übereinstimmende Zeichenfolge , Bedeutung:
Hello, world! Hello, people!
^Hello^Bye
zur Folge haben würde:
Bye, world! Hello, people!
so dass das zweite Spiel ( hello
) unverändert.
Hinweis: Lassen Sie nicht Platz zwischen den Hüten oder die Operation wird nicht funktionieren.
Das obige ist nur eine Abkürzung für:
!:s/Hello/Bye
Event-Level(*)-Substitution für die erste gefundene (übereinstimmende) Zeichenkette im vorherigen Befehl, wobei dem ersten Teil das Zeichen "*" vorangestellt wird. g
Schalter gilt für die ganze Reihe g lobal :
echo Hello, world! Hello, people!
!:gs/Hello/Bye
Bye, world! Bye, people!
wie es in anderen verwandten Befehlen üblich ist, z. B. sed
, vi
und in regex
(regulärer Ausdruck) - ein Standardverfahren für die Suche ( Matchstring ).
Nein, das können Sie nicht tun !:sg/Hello/Bye
o !:s/Hello/Bye/g
hier, das ist die Syntax !
- ! steht für Ereignisse; Ereignis kann als Befehlsausgabe oder Operation in der Befehlshistorie verstanden werden.
Das ist das, was ich verstanden habe, indem ich es selbst benutzte und Dinge ausprobierte, die ich aus verschiedenen Quellen wie Handbüchern, Blogs und Foren entnommen hatte.
Ich hoffe, es bringt etwas Licht in die geheimnisvollen Wege der bash
die Bourne-Again-Shell (eine Anspielung auf sh
Shell, die ihrerseits nach dem Nachnamen ihres Erfinders Bourne-Shell genannt wird), was in vielen Distributionen einschließlich Servern die Standardshell ist ( Server-Betriebssysteme ).