$0
in einem Script steht für den Namen des Scripts selbst. Anders ausgedrückt, repräsentiert es den Pfad oder den Namen der ausführbaren Datei, die gerade ausgeführt wird. Meistens wird $0
wird beispielsweise für Entscheidungen basierend auf dem Script-Namen verwendet oder um Log-Nachrichten zu generieren.
Beispiele
Scriptname anzeigen
Mit $0
kann der Name des aktuellen Scripts angezeigt werden. Dies kann hilfreich sein, um Informationen über das Script selbst zu protokollieren oder Fehlermeldungen mit dem entsprechenden Scriptnamen zu versehen.
#!/bin/bash
echo "Das Script, das gerade ausgeführt wird, ist: $0"
Wenn man das Script dann ausführt:
$ bash script1.sh
Das Script, das gerade ausgeführt wird, ist: script1.sh
$
Verwendung in Bedingungen
Manchmal müssen bestimmte Aktionen basierend auf dem Namen des Scripts ausgeführt werden. Die Verwendung von $0
in Bedingungen ermöglicht es, verschiedene Verhaltensweisen abhängig davon zu steuern, wie das Script aufgerufen wird – ob es direkt ausgeführt oder in ein anderes Script eingebunden wird.
#!/bin/bash
if [ "$0" = "./script2.sh" ]; then
echo "Das Script wurde direkt aufgerufen."
else
echo "Das Script wurde eingebunden."
fi
Wenn man das Script dann ausführt:
$ bash script2.sh
Das Script wurde direkt aufgerufen.
$
Oder als Teil eines anderen Scripts
#!/bin/bash
source ./script2.sh
Wenn man das Script dann ausführt:
$ bash einbindendes_script.sh
Das Script wurde eingebunden.
$
Pfad extrahieren
Manchmal benötigt man den Pfad, in dem sich das Script befindet, um beispielsweise Dateien relativ zum Scriptpfad zu referenzieren.
#!/bin/bash
script_path=$(dirname "$0")
echo "Das Script befindet sich im Pfad: $script_path"
Wenn man das Script dann ausführt:
$ bash script3.sh
Das Script befindet sich im Pfad: .
$
Der Punkt .
steht für das aktuelle Arbeitsverzeichnis, da das Script im aktuellen Verzeichnis ausgeführt wird. Je nachdem, von welchem Pfad aus das Script aufgerufen wird, kann der Pfad variieren.
Anhang
Links
- https://linuxhandbook.com/bash-dollar-0/: Dieser Artikel auf LinuxHandbook erklärt die Bedeutung der
$0
-Variable in einem Bash-Skript und wie sie verwendet wird. - https://linuxhint.com/0-bash-script/: Der Artikel auf LinuxHint wird die Verwendung der
$0
-Variable in Bash-Skripten erläutert und gezeigt, wie sie in Bedingungen und zur Pfadextraktion verwendet werden kann. - https://bash.cyberciti.biz/guide/$0: Der Leitfaden auf cyberciti.biz bietet eine Einführung in die Verwendung der
$0
-Variable in Bash-Skripten und erklärt ihre Bedeutung sowie verschiedene Anwendungsbeispiele.