furryhamster
Lt. Commander
- Registriert
- Okt. 2008
- Beiträge
- 1.100
Hi,
ich Entwickle auf einer Bash Shell. Ich habe eine if Bedingung die über eine Funktion prüft ob eine Varibale null ist (returnt 0 oder 1) und zusätzlich prüfe ich (wenn nicht null) ob eine Variable einen von zwei Werten enthält.
Probiert hatte ich es zunächst so:
Das hat so leider nicht geklappt, da er auch z.B. "Modus3" akzeptiert hat. Durch Zufall bin ich auf folgende funktionierende Lösung gestoßen:
Warum funktioniert das so? Letztlich müsste -o und || doch das gleiche sein oder?
ich Entwickle auf einer Bash Shell. Ich habe eine if Bedingung die über eine Funktion prüft ob eine Varibale null ist (returnt 0 oder 1) und zusätzlich prüfe ich (wenn nicht null) ob eine Variable einen von zwei Werten enthält.
Probiert hatte ich es zunächst so:
if checkNull ${MODUS} -o ( [ "${MODUS}" != "modus1" -a "${MODUS}" != "modus2" ] )
Das hat so leider nicht geklappt, da er auch z.B. "Modus3" akzeptiert hat. Durch Zufall bin ich auf folgende funktionierende Lösung gestoßen:
if checkNull ${MODUS} || ( [ "${MODUS}" != "modus1" -a "${MODUS}" != "modus2" ] )
Warum funktioniert das so? Letztlich müsste -o und || doch das gleiche sein oder?