Grundsätzlich hat es eine Verwendung beim Ziehen früherer (Befehls-) 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?
das sechste , das ist das letzte; Das heißt, es kann durch Eingabe von: referenziert werden.
Alt+6 gefolgt von Ctrl-Alt-6
Ctrlwird traditionell als Hut Charakter bezeichnet ^
vorangestellt Schlüssel Namen, und Altwie M-
das heißt M eta - Präfix.
So kann die obige Verknüpfung neu definiert werden, um ^My
zu ziehen.
Außerdem gibt es in der Befehlszeile eine Verknüpfung zum Ersetzen von Hüten :
echo Hello, world!
^Hello^Bye
Bye, world!
um die erste übereinstimmende Zeichenfolge des vorherigen Befehls zu ersetzen , was bedeutet:
Hello, world! Hello, people!
^Hello^Bye
würde führen zu:
Bye, world! Hello, people!
Lassen Sie das zweite Match ( hello
) unverändert.
Hinweis: Lassen Sie keinen Platz zwischen den Hüten , da sonst die Operation nicht funktioniert.
Das Obige ist nur eine Abkürzung für:
!:s/Hello/Bye
Die Ersetzung der ersten gefundenen (übereinstimmenden) Zeichenfolge im vorherigen Befehl auf Ereignisebene (*), während das Präfixieren des ersten Teils mit dem g
Schalter für die gesamte Zeile g gilt :
echo Hello, world! Hello, people!
!:gs/Hello/Bye
Bye, world! Bye, people!
wie sie üblicherweise in anderen verwandten Befehlen durchgeführt, wie wird sed
, vi
und in regex
(regular expression) - einen standart Weg (suchen Matchstring ).
Nein, das kannst du nicht !:sg/Hello/Bye
oder !:s/Hello/Bye/g
hier, das ist die Syntax !
- ! ist für Ereignisse; Ereignis kann als Befehlsausgabe oder Operation im Befehlsverlauf verstanden werden.
Das habe ich verstanden, indem ich es selbst verwendet und Dinge selbst ausprobiert habe, die ich aus verschiedenen Quellen gelesen habe, einschließlich Handbuchseiten, Blogs und Foren.
Ich hoffe, es gibt Aufschluss über mysteriöse Möglichkeiten bash
der Bourne-Again-Shell (ein Spiel mit der sh
Shell, die nach dem Nachnamen des Erfinders selbst als Bourne-Shell bezeichnet wird), der Standard-Shell in vielen Distributionen, einschließlich Servern ( Server-Betriebssystemen ).
bind -lp
suche, laufe ich gerne und schaue mir die aktuellen Bindungen an.