Bash - Besondere Variablen

Liste der besonderen 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 

 

 Beispiele 

 #!/bin/bash

echo -e "\nDer Name des Scripts lautet "$0"\n" # $0 - Name des ausgeführten Scripts

echo -e "Es wurde(n) "$#" Kommandozeilenargument(e) mit angegeben\n" # $# - Anzahl der Kommandozeilen-Argumente

if [[ $# -ne 0 ]]

then

 x=1

 for i in $@; # $@ - Alle Kommandozeilen-Argumente als Array

 do

 echo -e "Das "$x". Kommandozeilenargument war "$i"\n"

 ((x++))

 done

 echo -e "Alle Kommandozeilenargumente waren: "$*"\n" # $* - Alle Kommandozeilen-Argumente in einem String

fi 

 

 #!/bin/bash

ping 192.168.0.1 -c1 -W1 > /dev/null

result=$? # $? - Exitstatus des letzten Kommandos

if [[ $result -ne 0 ]]

then

   echo "Ping failed"

else

   echo "Ping OK"

fi