Skip to main content

Bash - Besondere Variablen

$0 – Der Name des ausgeführten Scripts

$1-$9 – Die Kommandozeilen-Argumente 1-9

$# – Die Anzahl der Kommandozeilen-Argumente

$* – Alle Kommandozeilen-Argumente in einem String

$@ – Alle Kommandozeilen-Argumente als Array

$? – Der Exit-Status des letzten Kommandos

$$ – Die Prozess ID der aktuellen Shell

$! – Die Prozess ID des letzten Hintergrundkommandos

$- – Zeigt die aktuellen Shell Optionen und Flags

Beispiel
#!/bin/bash
echo -e "\nDer Name des Scripts lautet "$0"\n" # $0 - Der Name des ausgeführten Scripts
echo -e "Es wurde(n) "$#" Kommandozeilenargument(e) mit angegeben\n" # $# - Die Anzahl der Kommandozeilen-Argumente
x=1
for i in $@; # $@ - Alle Kommandozeilen-Argumente als Array
do
    echo -e "Das "$x". Kommandozeilenargument lautet "$i"\n"
    x=$((x+1))
done
echo -e "Alle Kommandozeilenargumente waren:lauten: "$*"\n" # $* - Alle Kommandozeilen-Argumente in einem String