Spezielle Variablen in ZSH

Spezielle Variablen in ZSH

ZSH ist eine leistungsstarke Hülle, die eine breite Palette von Funktionen und Funktionen bietet, um die Erfahrung des Benutzers zu verbessern. Eine der Hauptmerkmale von ZSH ist die Unterstützung für spezielle Variablen, mit denen Benutzer verschiedene Aufgaben einfach und effizient ausführen können.

In diesem Artikel werden wir einige der nützlichsten speziellen Variablen in ZSH untersuchen und diskutieren, wie sie verwendet werden können, um Ihre Shell -Skripte zu verbessern.

$ 0 - Holen Sie sich den Namen des laufenden Skripts

Der $ 0 Variable in ZSH bezieht sich auf den Namen des aktuellen Skripts oder der Shell, die ausgeführt wird. Diese Variable ist besonders nützlich, wenn Sie den Namen des derzeit ausgeführten Skripts bestimmen müssen. Sie können die Variable $ 0 verwenden, um den Namen des Skripts anzuzeigen, oder Sie können sie in bedingten Anweisungen verwenden, um bestimmte Aktionen basierend auf dem Namen des Skripts auszuführen.

Zum Beispiel, wenn Sie ein Skript namens namens haben „MyScript.ZSHUnd Sie möchten überprüfen, ob es ausgeführt wird, können Sie den folgenden Code verwenden:

#!/bin/bash if [[$ 0 == "myScript.ZSH "]; dann wiederholt" MyScript auszuführen.zsh "sonst echo" myScript nicht ausführt.ZSH "fi
1234567#!/bin/bash if [[$ 0 == "myScript.ZSH "];.ZSH "Elseecho", das MyScript nicht ausführt.ZSH "fi

$# - Holen Sie sich die Anzahl der Argumente

Der $# Variable in ZSH bezieht sich auf die Anzahl der Argumente, die an das Skript oder die Funktion übergeben wurden. Diese Variable ist besonders nützlich, wenn Sie die Anzahl der an ein Skript oder eine Funktion übergebenen Argumente überprüfen und unterschiedliche Aktionen basierend auf der Anzahl der Argumente ausführen müssen.

Wenn Sie beispielsweise ein Skript haben, das zwei Argumente erwartet, können Sie den folgenden Code verwenden, um zu überprüfen, ob das Skript mit der richtigen Anzahl von Argumenten aufgerufen wurde:

#!/bin/bash if [[$# -ne 2]]; dann echo "nutzung: myScript.ZSH arg1 arg2 "Exit 1 fi
123456#!/bin/bash if [[$# -ne 2]]; thenecho "nutzung: MyScript.ZSH arg1 arg2 "Exit 1fi

$? - Status des letzten Befehls beenden

Der $? Die Variable in ZSH bezieht sich auf den Exit -Status des letzten ausgeführten Befehls. Diese Variable ist besonders nützlich, wenn Sie überprüfen müssen, ob ein Befehl erfolgreich war oder nicht, und unterschiedliche Aktionen basierend auf dem Ergebnis ausführen.

Wenn Sie beispielsweise einen Befehl haben, der eine Datei erstellt und ob der Befehl erfolgreich war, können Sie den folgenden Code verwenden:

#!/bin/bash touch myfile.txt wenn [$? -Gl 0]]; dann echo "Datei erfolgreich erstellt" sonst echo "Fehler erstellen" fi
123456789#!/bin/bash touch myfile.txt wenn [$? -Gl 0]]; dann echo "Datei erfolgreich erstellt" sonst echo "Fehler erstellen" fi

$! - Holen Sie sich die Prozess -ID des letzten Befehls

Der $! Variable in ZSH bezieht sich auf die Prozess -ID des letzten im Hintergrund ausgeführten Befehls. Diese Variable ist besonders nützlich, wenn Sie den Fortschritt eines Hintergrundjobs überwachen oder einen Hintergrundjob abtöten müssen.

Wenn Sie beispielsweise einen langjährigen Befehl haben, den Sie im Hintergrund ausführen möchten, können Sie den folgenden Code verwenden, um den Befehl zu starten und seine Prozess-ID zu speichern:

#!/bin/bash long_running_command & pid = $!
1234#!/bin/bash long_running_command & pid = $!

Sie können dann die verwenden $! Variable, um den Fortschritt des Hintergrundjobs zu überwachen oder bei Bedarf zu töten:

#!/bin/bash if [[son_condition]]; Dann töte $ pid fi
12345#!/bin/bash if [[son_condition]]; Dann töte $ pidfi

[E -Mail geschützt] - Holen Sie sich alle Befehlszeilenargumente

Der [E -Mail geschützt] Variable in ZSH bezieht sich auf alle Argumente, die an das Skript oder die Funktion als separate Wörter übergeben wurden. Diese Variable ist besonders nützlich, wenn Sie alle Argumente an einen anderen Befehl oder eine andere Funktion übergeben müssen.

Wenn Sie beispielsweise ein Skript haben, das seine Argumente an einen anderen Befehl übergeben muss, können Sie den folgenden Code verwenden:

son_command $@
1son_command $@

Abschluss

Zusammenfassend sind spezielle Variablen in ZSH leistungsstarke Tools, mit denen Sie verschiedene Aufgaben einfach und effizient ausführen können. Die in diesem Artikel diskutierten Variablen sind nur einige Beispiele für die vielen speziellen Variablen, die in ZSH verfügbar sind. Wenn Sie lernen, wie Sie diese Variablen effektiv verwenden, können Sie effizientere und leistungsfähigere Shell -Skripte schreiben, die Ihnen helfen können, in kürzerer Zeit mehr zu erreichen.