ZSH-Skriptlektion: Beherrschung der Variablenverwendung und -manipulation

Zsh Skriptlektion Beherrschung Der Variablenverwendung Und Manipulation



Lassen Sie uns über Variablen sprechen. Wenn Sie lernen, in einer beliebigen Sprache zu programmieren, sind Variablen immer vorhanden.

In diesem Tutorial führen wir Sie in die Welt der Skripterstellung mit ZSH ein und lernen alles über Variablen. Dieses Tutorial umfasst die Verwendung von Variablen und die allgemeine Manipulation von Variablen.







Variablendefinition

In ZSH sind Variablen Datenspeichereinheiten, die es uns ermöglichen, die Daten während der Lebensdauer des Skripts zu speichern und zu bearbeiten.



Eine gängige Analogie besteht darin, dass sie wie Container sind, die es uns ermöglichen, Informationen wie Text, Zahlen, Sequenzen und mehr zu speichern.



Variable Aussage

Bevor Sie eine Variable in einem Skript verwenden können. Sie müssen sicherstellen, dass Sie eine Variable deklariert haben.





Unter Variablendeklaration versteht man den Prozess der Angabe des Namens, des Datentyps der Variablen und des von ihr gehaltenen Anfangswerts.

In ZSH können wir eine Variable implizit oder explizit deklarieren. Bei der expliziten Deklaration müssen Sie den Datentyp definieren, der von der Variablen gespeichert wird, während bei der impliziten Deklaration nur der Variablenname erforderlich ist. Der Interpreter kann dann bei Verwendung auf den Datentyp der Variablen schließen.



Das Folgende zeigt die explizite und implizite Deklaration:

setzen -ich Auf eins = 30
grüßen = 'Hallo'

Der erste Befehl bezeichnet die explizite Deklaration, während der zweite Befehl die implizite Deklaration bezeichnet.

Sie können einer Variablen einen Wert zuweisen, indem Sie bei der Deklaration einfach den Operator „=“ wie folgt verwenden:

In = 'Hallo Welt'

Wir können die Standardwerte für Variablen auch mithilfe der ${var:-default}-Syntax bereitstellen.

Stadt = ' ${user_location:-New York} '

Wie bereits erwähnt, können wir den Typ der Variablen explizit mit dem Befehl „typeset“ angeben.

setzen -ich A = 25 # Integer-Variable
setzen -A dbs = ( „MySQL“ „PostgreSQL“ „SQLite“ ) # Array-Variable

Konventionen zur Benennung von Variablen

Bei der Benennung der Variablen müssen Sie folgende Regeln beachten, um den Syntaxfehler des ZSH-Interpreters zu vermeiden:

  • Die Variablennamen sollten aus Buchstaben, Ziffern und Unterstrichen bestehen.
  • Sie sollten mit einem Buchstaben oder einem Unterstrich beginnen.
  • Vermeiden Sie die Verwendung von Sonderzeichen wie „$“, „*“ oder Leerzeichen in Variablennamen.

Variablentypen in ZSH

Es gibt verschiedene Arten von Variablen, die von ZSH unterstützt werden. Jeder Variablentyp wird zum Speichern eines bestimmten Datentyps wie Zahlen, Zeichenfolgen, Arrays usw. verwendet.

1. String-Variablen

String-Variablen werden zum Speichern der Textdaten verwendet. In ZSH schließen wir die String-Variablen in einfache oder doppelte Anführungszeichen ein, wie im Folgenden gezeigt:

War = 'Hallo'
var2 = 'Hallo Welt!'

Die beiden vorherigen Variablen repräsentieren die gültigen String-Datentypen.

2. Ganze Zahlen

Ganzzahlige Variablen hingegen werden zum Speichern der numerischen Werte verwendet. Für diese Art von Werten ist es nicht erforderlich, sie in Anführungszeichen zu setzen. Es muss sich jedoch um numerische Werte handeln.

X = 42

3. Array-Variablen

Array-Variablen sind Sequenzvariablen, die zum Speichern von Wertelisten verwendet werden. Wir deklarieren ein Array mit einem Klammerpaar. Im Gegensatz zu Zeichenfolgen und Ganzzahlen können Arrays gemischte Typen wie Zeichenfolgen und Ganzzahlen im selben Wert speichern.

Ein Beispiel ist wie folgt:

Verbindungswerte = ( „MySQL“ „PostgreSQL“ , 3306 , 5049 )

Variable Erweiterung

Die Variablenerweiterung, auch Variablenersetzung genannt, ermöglicht es uns, den Namen einer Variablen durch den entsprechenden Wert innerhalb einer Zeichenfolge oder eines Befehls zu ersetzen.

Durch die Variablenerweiterung können wir den Inhalt von Variablen dynamisch in den Code integrieren. Bei der ZSH-Skripterstellung ist die Variablenerweiterung eine Möglichkeit, auf die in Variablen gespeicherten Werte zuzugreifen und diese zu verwenden.

1. Einfache Variablenerweiterung

Die gebräuchlichste Art der Variablenerweiterung verwendet das „$“-Symbol, um auf den Wert einer Variablen zuzugreifen.

Ein Beispiel ist wie folgt:

Echo 'Hallo, $name '

2. Parametererweiterung

Die Parametererweiterung ermöglicht komplexere Variablenoperationen, wie im folgenden Beispiel gezeigt:

Länge = ${#name}
Teilzeichenfolge = ${name:0:3}

Das erste Beispiel ermittelt die Länge der Zeichenfolge während Der zweite ruft die angegebene Teilzeichenfolge mithilfe der Indizierung ab.
< h2 > 3 . Arithmetische Erweiterung h2 >
Zuletzt haben wir noch die arithmetische Erweiterung welche ermöglicht es uns, die arithmetischen Operationen innerhalb der doppelten Klammern auszuführen.

[ cc Nur = „schlagen“ Breite = '100%' Höhe = '100%' entkam = 'WAHR' Thema = 'Tafel' nowrap = „0“ ] X = 5
Und = 3
res =$ ( ( x + y ) )

Variablenmanipulation

Fahren wir mit dem nächsten Abschnitt fort, in dem wir etwas über die Variablenmanipulation lernen. Beginnen Sie mit der gebräuchlichsten Variablenmanipulation

1. String-Manipulation

ZSH bietet zahlreiche Funktionen zur String-Manipulation, wie z. B. die String-Verkettung. Ein Beispiel für die Verkettung von Zeichenfolgen ist wie folgt:

Adresse = ' ${hostname } ${:port } '

Die nächste String-Manipulationsoperation ist die String-Ersetzung:

Gruß = ${greeting//World/Universe}

2. Array-Manipulation

Arrays sind ein weiterer Bereich, in dem Sie verschiedene Vorgänge ausführen. In Arrays verfügen wir über verschiedene Speicher- und Manipulationstechniken wie:

Hinzufügen eines Elements zu einem Array:

Datenbanken+= ( „Elasticsearch“ )

Zugriff auf die Array-Elemente:

Echo „1: ${Datenbanken[0]} '

Rechenoperationen

Sie können verschiedene arithmetische Operationen für ganze Zahlen ausführen, wie zum Beispiel:

Werte hinzufügen:

Ergebnis =$ ( ( a + b ) )

Sie können einfach das Rechenzeichen ersetzen, um andere Operationen wie Subtraktion, Multiplikation und Division durchzuführen.

Fortgeschrittene Variablentechniken in ZSH

Es gibt einige erweiterte Variablenoperationen, die Ihnen nur in bestimmten Anwendungsfällen begegnen.

Eine bedingte Variablenzuweisung ermöglicht es uns beispielsweise, die Werte basierend auf Bedingungen bedingt zuzuweisen.

Ein Beispiel ist wie folgt:

Modus = ' ${debug_mode:-false} '

Wenn in diesem Fall „debug_mode“ einen nicht leeren Wert enthält, wird dem Modus der Wert „debug_mode“ zugewiesen.

Wenn beispielsweise „debug_mode=true“ ist, wird auch der Modus auf „true“ gesetzt.

Wenn „debug_mode“ nicht definiert oder leer ist, wird dem Modus der Standardwert „false“ zugewiesen.

1. Variablenbereich

Eine weitere Funktion, die Sie vielleicht über Variablen wissen möchten, ist der Variablenbereich. Der Bereich bezieht sich auf den Bereich, auf den auf die Variable zugegriffen werden kann.

Wenn beispielsweise eine Variable außerhalb einer Schleife, Funktion oder eines bedingten Blocks definiert ist, hat sie einen globalen Gültigkeitsbereich und kann über das gesamte Skript aufgerufen werden.

Der nächste Bereichstyp ist ein lokaler Bereich, der den Zugriff auf Variablen, die in einer Schleife, Funktion oder einem bedingten Block definiert sind, auf nur diesen Block beschränkt.

War = „Ich bin global“
Funktion ( ) {
lokal local_var = „Ich bin lokal“
}

Das Beispiel veranschaulicht die globalen und lokalen Variablenbereiche.

2. Spezielle Variablen

Wir verfügen auch über spezielle Variablen, die ZSH zur Verwendung bereitstellt. Dies sind Variablen, die bei Verwendung in der ZSH-Shell eine besondere Bedeutung haben.

Dazu gehören Folgendes:

$ 0 , 1 $ , Und $#

Um die Skriptargumente darzustellen, sieht eine Beispielverwendung wie folgt aus:

Skriptname = „$0“
erstes_Argument = „1 $“
argument_count = „$#“

3. Variable Desinfektion

Beim Umgang mit Benutzereingaben ist es sinnvoll, die Eingaben zu bereinigen, um Angriffsvektoren wie Code-Injections zu verhindern.

Ein Beispiel ist wie folgt:

Benutzereingabe =$ ( desinfizieren ' $user_input ' )

4. Debuggen der Variablen

Mit dem Befehl „set –x“ können Sie die Variablenzuweisungen und -werte debuggen und verfolgen.

Satz -X

Hier hast du es!

Abschluss

In diesem Tutorial sind Sie auf eines der umfassendsten Tutorials zu Variablen in ZSH gestoßen. Dieses Tutorial deckt alles ab, von der Deklaration bis zum Debuggen der Variablen und alles dazwischen. Dieses Tutorial wird Sie sicherlich auf die nächste Stufe bringen, wenn es um die Skripterstellung mit ZSH geht.