Bash -Parameter -Expansion

Bash -Parameter -Expansion
Der Parameter wird in Bash verwendet, um Daten zu speichern. Verschiedene Arten von Daten können im Parameter gespeichert werden, z. B. Ganzzahl, String, Array usw. Durch die Verwendung von integriert erklären Stichwort. Der Parameter kann ein Positionsparameter, ein spezieller Parameter und eine Variable sein. Normalerweise, "$" Das Symbol wird verwendet, um den Wert einer Variablen zu drucken oder zuzuweisen, z. B. 'x = $ y'. "$" -Symbol wird auch für die Parameterausdehnung verwendet, die in Bash verschiedene Arten von Verwendungen enthält. Die Parameterausdehnung kann verwendet werden, um den Wert des Parameters zu ändern, zu erweitern oder zu ersetzen. Die optionalen Klammern werden mit der Variablen verwendet, wenn die Expansion der variablen Parameter verwendet wird, z. B. "Echo $ myvar". Wie die Parameterausdehnung in Bash für verschiedene Zwecke verwendet werden kann, werden in diesem Tutorial angezeigt.

Syntax:

Einige meist verwendete Bash -Parameter -Expansionssyntaxe sind unten angegeben.

Parameterausdehnung Beschreibung
$ Variable: -Value Wenn die Variable nicht festgelegt oder undefiniert ist, erweitern Sie die Wert.
$ Variable: = Wert Wenn die Variable nicht festgelegt oder nicht definiert ist, stellen Sie die ein Wert zur Variablen.
$ Variable:+Wert Wenn die Variable festgelegt oder definiert ist, erweitern Sie die value.
$ Variable: Start: Länge Substring wird von der Startposition zur Länge der Variablen abgerufen.
$ Variable: Start Substring wird von der Startposition zum verbleibenden Teil der Variablen abgerufen.
$ #Variable Zählen Sie die Länge der Variablen.
$ Variable/Muster/String Ersetzen Sie den Teil der Variablen durch String, in dem das Muster zum ersten Mal übereinstimmt.
$ Variable // Muster/String Ersetzen Sie alle Vorkommen in der Variablen durch Zeichenfolge, in der alle Muster übereinstimmen.
$ variable/#muster/string Wenn das Muster zu Beginn der Variablen existiert, ersetzen Sie das Auftreten durch String.
$ variable/%Muster/String Wenn das Muster am Ende der Variablen vorhanden ist, ersetzen Sie das Auftreten durch String.
$ Variable#Muster Entfernen Sie die kürzeste Übereinstimmung vom Beginn der Variablen, in der das Muster übereinstimmt.
$ Variable ## Muster Entfernen Sie die längste Übereinstimmung vom Beginn der Variablen, in der das Muster übereinstimmt.
$ variable%Muster Entfernen Sie die kürzeste Übereinstimmung vom Ende der Variablen, an der das Muster übereinstimmt.
$ variable %% Muster Entfernen Sie die längste Übereinstimmung vom Ende der Variablen, an der das Muster übereinstimmt.

Die Parameterausdehnung kann von drei Gruppen kategorisiert werden. Dies sind eine bedingte Parameterausdehnung, Substring -Parameterausdehnung und Ersatzparameterausdehnung. Die Verwendungen dieser Parameterausdehnung werden mit Beispielen im nächsten Teil dieses Tutorials erläutert.

Beispiel 1: Bedingte Parameterausdehnung

Diese Arten von Parameternexpansionen werden verwendet, um zu überprüfen, ob die Variable festgelegt oder nicht festgelegt wird

Der folgende Befehl überprüft die Variable, $ myvar ist eingestellt oder nicht festgelegt. Wenn $ myvar ist nicht festgelegt, dann die Zeichenfolge 'verprügeln'wird drucken.

$ echo "$ myvar: -bash"

Der folgende Befehl druckt den Wert von $ myvar Wenn es eingestellt ist.

$ echo $ myvar

Der folgende Befehl setzt den Wert. 'verprügeln' Zu $ myvar und drucken 'verprügeln'zum Terminal, wenn $ myvar ist nicht fest.

$ echo "$ myvar: = bash"

Überprüfen Sie nun, dass die Variable durch den folgenden Befehl festgelegt oder nicht festgelegt wird.

$ echo $ myvar

Der folgende Befehl druckt 'Python'zum Terminal, wenn $ myvar ist vorher eingestellt.

$ echo "$ myvar:+python"

Führen Sie erneut den folgenden Befehl aus, um den aktuellen Wert von zu überprüfen $ myvar.

$ echo $ myvar

Ausgang:

Nach dem Ausführen der obigen Befehle wird die folgende Ausgabe angezeigt.

Beispiel-2: Substring-Parameterweiterung

Die Substring -Parameterausdehnung wird für verschiedene Zwecke verwendet, z. Der Zeichenfolgenwert kann auf verschiedene Weise geschnitten werden. Die Verwendungen von Substring -Parameterausdehnungen werden im nächsten Teil dieses Tutorials angezeigt.

Der folgende Befehl wird zugewiesen “Bangladesch”Zur Variablen, $ mystr.

$ mystr = "Bangladesch"

Der folgende Befehl wird sechs Zeichen von abschneiden $ mystr Ausgehend von Position 0.

$ echo "$ mystr: 0: 6"

Der folgende Befehl schnitt alle Zeichen aus $ mystr, Ausgehend von Position 6.

$ echo "$ mystr: 6"

Der folgende Befehl zählt und druckt die Gesamtzahl der Zeichen von $ mystr.

$ echo "$ #mystr"

Ausgang:

Nach dem Ausführen der obigen Befehle wird die folgende Ausgabe angezeigt.

Beispiel-3: Ersetzen Sie die Zeichenfolge durch Parameterausdehnung

Verschiedene Arten von Parameterausdehnungen können verwendet werden, um den Stringwert zu ersetzen. Die Verwendung der Parameterausdehnung zum Ersetzen des Stringwerts wird in diesem Teil des Tutorials angezeigt.

Der folgende Befehl weist den Wert zu “,“Als Erster rein, als erster raus”In der Variablen, $ newstr.

$ newstr = "Erster in der ersten Out"

Die folgende Parameterausdehnung ersetzt die Zeichenfolge “Erste”Von der Zeichenfolge“Zuletzt”Der Variablen, $ newstr. Fallempfindliche Suche gilt für diesen Ersatz.

$ echo "$ newstr/fast/last"

Die folgende Parameterausdehnung ersetzt alle Ereignisse der Zeichenfolge “,“Erste”Von der Zeichenfolge“Zuletzt”Der Variablen, $ newstr. Die unempfindliche Suche an diesem Ersatz beantragt diesen Ersatz.

$ echo "$ newstr // fast/last"

Ausgang:

Nach dem Ausführen der obigen Befehle wird die folgende Ausgabe angezeigt.

Der folgende Befehl weist den Wert zu “,“Essen, um zu leben - nicht leben, um zu essen”Zur Variablen, $ String.

$ string = "essen, um zu leben, aber nicht zu leben, um zu essen"

Das Wort, "essen" wird zweimal in der Variablen erscheinen, $ String. Der folgende Befehl ersetzt das Wort “Essen" von "ArbeitenDas erscheint zu Beginn von $ String.

$ echo "$ string/#eat/work"

Der folgende Befehl ersetzt das Wort “essen" von "arbeitenDas erscheint am Ende von $ String.

$ echo "$ String/%eat/Arbeit"

Ausgang:

Nach dem Ausführen der obigen Befehle wird die folgende Ausgabe angezeigt.

Der folgende Befehl speichert den Wert “Web -Programmiersprache”Zur Variablen, $ var.

$ var = "Web -Programmiersprache"

Die folgende Parameterausdehnung beseitigt das Wort “Netz”Vom Beginn der Variablen, $ var.

$ echo "$ var/#web"

Die folgende Parameterausdehnung beseitigt das Wort “Sprache”Vom Ende der Variablen, $ var.

$ echo "$ var/%Sprache"

Ausgang:

Nach dem Ausführen der obigen Befehle wird die folgende Ausgabe angezeigt.

Abschluss:

Die Expansion der Bash -Parameter ist eine sehr nützliche Merkmal von Linux. Es hilft dem Linux-Benutzer, ohne integrierte Funktion unterschiedliche Arten von String-bezogenen Operationen auszuführen. In diesem Tutorial werden verschiedene Arten von String -Zuordnung, Schnittzeichenfolge und Ersatzvorgängen unter Verwendung der Bash -Parameterweiterung angezeigt. Hope, der Leser kann nach dem Lesen dieses Tutorials die auf Zeichenfolge verwandte Aufgaben effizienter ausführen, indem sie die Parameterausdehnung verwendet.