hier ein Codeschnipsel, der vermutlich ab und zu ganz nützlich ist: Die Prüfung, ob eine Variable überhaupt existiert und - wenn sie es tut (und eine Stringvariable ist) - Inhalt hat (0 bei Zahlvariablen zählt als Inhalt!).
#/bin/bash # Parameter $1 ist Variablenname variableExists() { var=$(eval echo \$"$1") # Indirekte Referenz if [ ${var:-'UNDEFINED_VARIABLE'} == 'UNDEFINED_VARIABLE' ] # Wenn nicht definiert, dann auf vorgegeben Wert setzen. then return 0 # false: Variable nicht definiert oder kein Inhalt else return 1 # true fi }
Zur Benutzung: Wenn ihr das Skript als variableExists abspeichert, könnt ihr es in euren eigenen Skripts wie folgt benutzen:
#!/bin/bash . ./variableExists.sh # Includen. Das Leerzeichen zwischen den beiden Punkten ist wichtig! var="blah" variableExists var exists=$? # Status der letzten Aktion (Funktionsaufruf) abfragen if [ $exists -eq 1 ]; then echo Variable existiert; else echo Variable existiert NICHT; fi