Mein "if" will nicht so wie ich.
#!/bin/sh
if [ ${A} = 1 ] || [ ${B} = 1 ]; then
do something
fi
Klappt, außer wenn weder "A" noch "B" definiert sind, dann gibt es einen Fehler: [: =: unary operator expected
Soll aber nicht. Ist nur eine der beiden Variablen definiert, kommt der Fehler nicht.
Mein Verständnisproblem liegt nun darin, das eine nicht definierte Variable nun keinen Wert hat (oder: "" ?).
Also ist der Ausdruck richtig und eigentlich nur die Bedingung nicht erfüllt ?
Da die Variablen u.U nicht gebraucht werden (enthalten Statusmeldungen), wollte ich sie eigentlich nicht extra definieren.
Frage: Ist mein Ausdruck nun falsch oder muß ich wirklich die Existenz jeder Variable überprüfen vor dem "if" Ausdruck ?
Shell: Krummes "if" Verhalten
Re: Shell: Krummes
Es sollte reichen, die Variablen in "" einzuschliessen, damit die Shell dort zumindest ein Argument hat - wenn auch ein leeres.
Jochen
Jochen
Re: Shell: Krummes
Des Tages ?
Jochen ist der Linuxer des Jahres <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">. Seine Beiträge sind bisher immer zu 100% kompetent - ist mir hier auch schon aufgefallen.
Weiter so und DANKE ... es gibt viel zu wenige davon.
Gruß,
Bazant
Jochen ist der Linuxer des Jahres <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">. Seine Beiträge sind bisher immer zu 100% kompetent - ist mir hier auch schon aufgefallen.
Weiter so und DANKE ... es gibt viel zu wenige davon.
Gruß,
Bazant