Heim > Artikel > Betrieb und Instandhaltung > Zusammenfassung häufig verwendeter Sonderzeichen in Bash
#
Kommentarsymbol (Hashmark)
1. Am Anfang der Zeile der Shell-Datei, als Shell-Aufruf-Interpreter-Markierung, #!/bin/bash;
2. Wird als Kommentar in der Konfigurationsdatei verwendet. Der Inhalt nach # wird nicht ausgeführt.
wird als Trennzeichen für mehrere Befehle verwendet. Befehlstrennzeichen [Semikolon]).
Wenn mehrere Befehle in derselben Zeile platziert werden sollen, können sie durch Semikolons getrennt werden.
;;
Terminator [doppeltes Semikolon]).
wird als Abschlusszeichen jeder Option verwendet, wenn die Option case verwendet wird.
.
Punktbefehl.
1. Führen Sie die aktuelle Verzeichnisdatei aus
#!/bin/bash
.pythontab-file
2. Als Teil des Dateinamens in der Datei Der Anfang des Namens zeigt an, dass es sich bei der Datei um eine versteckte Datei handelt
3 Als Verzeichnisname steht ein Punkt für das aktuelle Verzeichnis und zwei Punkte für das übergeordnete Verzeichnis (das übergeordnete Verzeichnis des aktuellen). Verzeichnis). Beachten Sie, dass nicht mehr als zwei Punkte angezeigt werden, es sei denn, Sie umgeben den Punkt selbst mit Anführungszeichen (einfach/doppelt).
4 In regulären Ausdrücken steht der Punkt für ein beliebiges Zeichen.
"
Doppelte Anführungszeichen.
Teilzitat. Von doppelten Anführungszeichen umgebener Inhalt ermöglicht eine variable Erweiterung und die Existenz von Escape-Zeichen.
'
Einfache Anführungszeichen (vollständige Anführungszeichen [einfache Anführungszeichen])
Alle in einfachen Anführungszeichen eingeschlossenen Zeichen werden selbst als Zeichen behandelt,
Komma (Kommaoperator).
1. Wird zum Verbinden einer Reihe mathematischer Ausdrücke verwendet, es wird jedoch nur das letzte Auswertungsergebnis zurückgegeben ##This $t1=$b;
Backslash, Backslash (Escape [Backslash] 1). Vor dem Sonderzeichen platziert, repräsentiert die Funktion des Sonderzeichens nur das Sonderzeichen Symbol selbst, das üblicherweise in Zeichenfolgen verwendet wird;
2. Wird am Ende einer Befehlszeile platziert, um den nachfolgenden Wagenrücklauf darzustellen. Ungültig (tatsächlich ist Enter maskiert) und die Eingabe nachfolgender neuer Zeilen gilt weiterhin als Teil des aktuellen Befehls
Schrägstrich, Schrägstrich (Dateiname-Pfadtrennzeichen)
1 Pfad, es gibt nur einen Schrägstrich im Pfad, der das Stammverzeichnis darstellt, und der Pfad, der mit dem Schrägstrich beginnt, stellt den Pfad dar, der vom Stammverzeichnis ausgeht. Stellt beispielsweise das Divisionssymbol dar : a=4/2
`
backquotes (Befehlsersetzung[backquotes]) Der eingeschlossene Befehl kann einer Variablen zugewiesen werden. a=`dirname '/tmp/x.log''. Das von dirname zurückgegebene Ergebnis wird a zugewiesen. Hinweis: Hier verwendet Mitchell speziell Backticks und einfache Anführungszeichen. Achten Sie auf den Unterschied
:
Null-Befehl [Doppelpunkt], was ist dieser Befehl? Es gibt keinen Rückgabewert und der Rückgabewert ist 0 (dh: wahr). Die Funktion dieses Befehls ist sehr wunderbar
1. Die Bedingungen für die Erstellung einer while-Schleife; 2. Wird als Platzhalter im if-Zweig verwendet. 3 als Trennzeichen, wo binäre Operationen erforderlich sind, wie zum Beispiel: ${username= `whoami`}4 Weisen Sie einer String-Variablen bei der Parameterersetzung einen Wert zu und kürzen Sie die Länge einer Datei auf 0 Umleitungsvorgang (>) (:>> Wenn das Ziel vorhanden ist, nichts tun), kann dies nur in normalen Dateien verwendet werden, nicht in Pipes, symbolischen Links und anderen speziellen Dateien 5. Sie können es sogar zum Kommentieren verwenden (der Inhalt nach # wird nicht überprüft, aber der Inhalt nach: wird überprüft. Wenn die Anweisung einen Syntaxfehler enthält, wird ein Fehler gemeldet);6. Sie können es auch als Domänentrennzeichen verwenden, z. B. in der Umgebungsvariablen $PATH. Oder in passwd werden Doppelpunkte als Domänentrennzeichen verwendet.
7 Namen, aber dadurch ändert sich die ursprüngliche Bedeutung des Doppelpunkts (wenn Sie ihn versehentlich als Funktionsnamen verwenden, können Sie unset -f: verwenden, um die Definition der Funktion aufzuheben).
!
Ausrufezeichen (umkehren (oder negieren) [Bang], [Ausrufezeichen]).
Ein Testergebnis umkehren oder den Status beenden.
1. Zeigt eine umgekehrte Logik an, z. B. Folgendes: !=, was „ungleich“ bedeutet a Es handelt sich nicht um eine Datei, auf die eine Zahl folgt.
3 In verschiedenen Umgebungen kann das Ausrufezeichen auch in indirekten Variablenreferenzen erscheinen Wird für historische Befehle verwendet. Um den Mechanismus aufzurufen, können Sie versuchen, !$,!# oder !-3 anzuzeigen. Beachten Sie jedoch, dass diese Funktion nicht in Skriptdateien verwendet werden kann (sie ist deaktiviert).
*
Sternchen (Platzhalter/arithmetischer Operator[Sternchen]).
1. Als Platzhalter, der mit Dateinamenerweiterungen übereinstimmt, kann er automatisch mit jeder Datei in einem bestimmten Verzeichnis übereinstimmen.
2. Er kann als Zeichenqualifizierer in regulären Ausdrücken verwendet werden vorangehend Die Übereinstimmungsregeln stimmen beliebig oft überein.
3 Repräsentiert die Multiplikation in arithmetischen Operationen.
**
Doppeltes Sternchen. Bei arithmetischen Operationen bedeutet es Potenzierungsoperation.
?
Fragezeichen (Testoperator/Platzhalter[Fragezeichen]).
1. Stellt bedingte Tests dar.
2. Stellt einen ternären Operator im C-Stil dar ((condition?true-result:false-result)). . Wird in Parameterersetzungsausdrücken verwendet, um zu testen, ob für eine Variable ein Wert festgelegt ist.
4 5. In einem regulären Ausdruck bedeutet dies, dass die vorherige Regel 0 oder 1 Mal erfüllt wird.
$
Dollarzeichen (Variablensubstitution[Dollarzeichen]).
1. Als Anführer einer Variablen wird es als Variablenersatz verwendet, das heißt, um auf den Inhalt einer Variablen zu verweisen, wie zum Beispiel: echo $PATH; Bei regulären Ausdrücken wird es als Ende der Zeile definiert ( End offline).
${}
Variablensubstitution.
wird verwendet, um Variablen in Zeichenfolgen darzustellen.
$'...'
Der zitierte Inhalt wird erweitert und der maskierte Inhalt innerhalb der einfachen Anführungszeichen wird ausgeführt (die einfachen Anführungszeichen werden ursprünglich so zitiert, wie sie sind). oder Mehrere []-escapedierte oktale, hexadezimale Werte, erweitert zu ASCII- oder Unicode-Zeichen.
$*
$@
Positionsparameter.
Dies wird bei der Übergabe von Parametern bei der Verwendung von Skriptdateien verwendet. Beide können alle Parameter der aufrufenden Skriptdatei zurückgeben, $* gibt jedoch alle Parameter als Ganzes (String) zurück, während $@ jeden Parameter als Einheit als Parameterliste zurückgibt. Beachten Sie, dass Sie $* und $@ in doppelte Anführungszeichen setzen müssen, wenn Sie sie verwenden. Diese beiden Variablen werden von $IFS beeinflusst. Bei der Verwendung in tatsächlichen Anwendungen sollten einige Details berücksichtigt werden.
$#
stellt die Anzahl der an das Skript übergebenen Parameter dar.
$?
Wenn dieser Variablenwert verwendet wird, gibt er den Exit-Statuscodewert des letzten Befehls, der letzten Funktion oder des letzten Skripts zurück. Wenn kein Fehler vorliegt, ist er 0 ungleich 0 ist, bedeutet dies, dass bei der letzten Ausführung davor ein Fehler aufgetreten ist.
$$
Prozess-ID-Variable, diese Variable speichert den Prozess-ID-Wert des aktuell ausgeführten Skripts.
()
Klammern (Klammern).
1, Befehlsgruppe. Ein in Klammern eingeschlossener Befehl ist eine Befehlsgruppe, und die Befehle in der Befehlsgruppe werden in einer Subshell ausgeführt. Da es in einer Subshell ausgeführt wird, gibt es keine Möglichkeit, den Wert der Variablen außerhalb der Klammern abzurufen, aber umgekehrt kann der Wert außerhalb der Befehlsgruppe abgerufen werden. Dies ist ein bisschen wie die Beziehung zwischen lokalen Variablen und globale Variablen. Wenn Sie nach Abschluss des Vorgangs in ein Unterverzeichnis wechseln und zum aktuellen Verzeichnis zurückkehren müssen, können Sie die Verwendung einer Subshell in Betracht ziehen.
2 Arrays.
{x,y,z,...}
Klammererweiterung.
Mit dieser Erweiterung können Sie die Parameterliste im Befehl erweitern. Der Befehl wird entsprechend dem durch Klammern getrennten Muster in der Liste abgeglichen und erweitert. Zu beachten ist, dass diese Erweiterung in geschweiften Klammern keine Leerzeichen enthalten darf. Wenn Leerzeichen tatsächlich erforderlich sind, müssen sie mit Escapezeichen versehen oder in Anführungszeichen gesetzt werden. Beispiel: echo {a,b,c}-{ d," e",' f'}
{a..z}
Diese geschweifte Klammer wurde in Bash Version 3 Extended hinzugefügt Bei der Erweiterung können Sie {A..Z} verwenden, um eine Liste aller Zeichen von A-Z darzustellen. Mitchell hat diese Erweiterungsmethode getestet und sie scheint nur für A-Z, a-z und die Zahl {minimum..max} zu gelten .
{}
Codeblöcke (geschweifte Klammern).
Dies ist eine anonyme Funktion, aber im Gegensatz zu einer Funktion kann nach dem Codeblock weiterhin auf die Variablen im Codeblock zugegriffen werden. Hinweis: Innerhalb der geschweiften Klammern müssen Leerzeichen und Anweisungen getrennt stehen. Darüber hinaus kann es in xargs -i auch als Textplatzhalter verwendet werden, um die Position des Ausgabetextes zu markieren.
{} ;
Dieser {} ist nicht in die Shell integriert, es scheint, dass er nur im Fund verwendet wird Befehl. Achten Sie auf das Semikolon am Ende, das die Option -exec im Find-Befehl beendet. Bei der tatsächlichen Verwendung muss sie maskiert werden, um ein Missverständnis durch die Shell zu vermeiden.
[]
Klammern.
1. Testdarstellung: Shell testet den Ausdruck innerhalb von []. Es ist zu beachten, dass [] Teil des integrierten Tests der Shell ist und nicht den externen Befehl /usr/bin/test verwendet ;
2. Im Kontext eines Arrays stellt es ein Array-Element dar. Geben Sie die Position des Array-Elements in die eckigen Klammern ein, um den Inhalt der entsprechenden Position zu erhalten, z. B.:
1. Array[ 1]=xxx
2. echo${Array[1]};
3. Gibt den Bereich des Zeichensatzes an die Zeichen, die an dieser Position abgeglichen werden können.
[[]]
doppelte Klammern.
Diese Struktur ist auch ein Test, der die Ausdrücke in [[]] (Shell-Schlüsselwörter) testet. Dies ist besser als einzelne eckige Klammern, um logische Fehler in Skripten zu verhindern. Beispielsweise können die Operatoren &&,||,<,> den Test in einem [[]] bestehen, aber nicht in []. In [[]] gibt es keine Dateinamenerweiterung oder Wortaufteilung, aber Parametererweiterung und Befehlsersetzung können verwendet werden. Dateinamen-Platzhalter und Trennzeichen wie Leerzeichen werden nicht verwendet. Beachten Sie, dass die Shell automatisch einen Konvertierungsvergleich durchführt, wenn hier Oktal, Hexadezimal usw. angezeigt werden.
$[...]
Der Wortausdruck stellt eine Ganzzahlerweiterung dar.
Führen Sie einen ganzzahligen Ausdruck in eckigen Klammern aus. Beispiel:
a=3
2. b=7
3 [$a*$b]
5. ##Gibt 10 und 21 zurück
(())
doppelte Klammern.
steht für eine ganzzahlige Erweiterung.
In der Doppelklammerstruktur können alle Ausdrücke wie in der C-Sprache sein, wie zum Beispiel: a++, b-- usw.
In der Doppelklammerstruktur muss allen Variablen nicht das Symbol „$“ vorangestellt werden.
Doppelte Klammern können logische Operationen und vier arithmetische Operationen ausführen
Die Struktur mit doppelten Klammern erstreckt sich auf bedingte Testoperationen.
Unterstützt mehrere Ausdrucksoperationen, jeder Ausdruck verwendet „, " zum Trennen von
> >
< <> Umleitung. Skriptname >Dateiname leitet die Ausgabe von Skriptname in die Datei Dateiname um. Wenn die Datei Dateiname vorhanden ist, wird die Originaldatei überschrieben. Befehl &>Dateiname leitet die Standardausgabe um. von Befehl und Standardfehler (stderr) in die Datei Dateiname; >Dateiname Hängen Sie die Ausgabe von Skriptname (wie >) an die Datei Dateiname an oder erstellen Sie die Datei, wenn sie nicht vorhanden ist. Eins > bedeutet, dass die Datei überschrieben wird, wenn sie nicht existiert, und zwei >> bedeutet, dass sie erstellt wird, wenn sie nicht existiert, fügen Sie hinzu ]<>Dateiname zum Öffnen der Datei wird zum Lesen oder Schreiben verwendet und der Datei wird sie als Dateideskriptor (Dateideskriptor) zugewiesen. Wenn die Datei nicht vorhanden ist, wird sie erstellt. <<Doppelt weniger als Punkte (hier-Dokument[doppelte weniger als Punkte]). Dies wird auch Here-Dokument genannt und wird verwendet, um nachfolgende Inhalte an die stdin des Befehls auf der linken Seite umzuleiten. <var="-n"
echo$var
##Versuchen Sie, die Ausgabe zu sehen?
Außerdem ist diese Darstellungsmethode nicht in Bash integriert. Um diesen Effekt zu erzielen, müssen Sie prüfen, ob die von Ihnen verwendete Software diesen Vorgang unterstützt.
Stellt den vorherigen dar , wenn Sie in ein anderes Verzeichnis wechseln und den vorherigen Pfad wiederherstellen möchten, können Sie den Zweck mit cd - erreichen. Tatsächlich verwendet das [-] hier die Umgebungsvariable $OLDPWD der vorherige Punkt;
4. Das Minuszeichen oder negative Vorzeichen wird in arithmetischen Operationen verwendet.
=
Gleich.
1. Zuweisungsoperation, Zuweisung eines Werts zu einer Variablen, gibt es Leerzeichen auf beiden Seiten des Gleichheitszeichens
2. Erscheint hier als Vergleichsoperator dass, wenn es in eckigen Klammern steht, um als Vergleich angezeigt zu werden, auf beiden Seiten des Gleichheitszeichens Leerzeichen stehen müssen.
+
Plus.
1. Arithmetischer Operator, der die Addition anzeigt; Markieren Sie in einem Befehl oder Filter, verwenden Sie + in einigen Befehlen oder integrierten Befehlen, um bestimmte Optionen zu aktivieren, verwenden Sie -, um zu deaktivieren; die Variable leer ist, verwenden Sie den Wert nach +)
%
Prozentzeichen (Modulo[Prozentzeichen]).
1. Bei arithmetischen Operationen ist dies der Rest nach der Division zweier Zahlen.
2 Bei der Parametersubstitution kann er als Musterübereinstimmung verwendet werden. Beispiel:
> ##Beginnen Sie mit der Suche von rechts (denken Sie darüber nach, welches Symbol von links ist?)
##Alle Inhalte zwischen b und 9 (einschließlich) Das kürzeste passende Element
##Letzteres besteht darin, das größte passende Element zu finden (gieriges Matching?)
~
Tilde (Home-Verzeichnis[Tilde]).
Dies ist dasselbe wie die interne Variable $HOME. Standardmäßig gibt es das Home-Verzeichnis des aktuellen Benutzers an. Dies hat die gleiche Wirkung wie ~/. Wenn der Tilde der Benutzername folgt, gibt es das Home-Verzeichnis des Benutzers an.
^
Caret.
1. In regulären Ausdrücken, als Zeilenanfangs-Positionsbezeichner
2 Bei der Parametersubstitution (Parametersubstitution) gibt es zwei Möglichkeiten: Ein Caret (${). var^}) bzw. zwei (${var^^}) bedeutet, dass der erste Buchstabe groß geschrieben wird und alle Großbuchstaben bedeuten (Bash-Version >=4).
Leerzeichen
Leerzeichen.
Leerraum bezieht sich nicht nur auf Leerzeichen (Leerzeichen), sondern umfasst auch Tabulatoren (Tabulatoren), Leerzeilen (Leerzeilen) oder eine Kombination davon. Es kann als Funktionstrennzeichen zum Trennen von Befehlen oder Variablen verwendet werden. Eine Leerzeile hat keinen Einfluss auf das Verhalten des Skripts und kann daher zum Planen des Skriptcodes verwendet werden, um die Lesbarkeit zu verbessern Wird verwendet, um auf bestimmte Befehle abzuzielen. Die Eingabeparameter sind geteilt und der Standardwert ist das Leerzeichen. Wenn eine Zeichenfolge oder Variable Leerzeichen enthält, können Sie Anführungszeichen verwenden, um mögliche Fehler zu vermeiden.
Das obige ist der detaillierte Inhalt vonZusammenfassung häufig verwendeter Sonderzeichen in Bash. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!