![](https://seccdn.libravatar.org/avatar/735ea797d876adb026ae955e8adbf597.jpg?s=120&d=mm&r=g)
On Die, 03 Jul 2001 at 18:15 (+0200), Bernd Obermayr wrote: [60 Zeilen Fullquote entfernt] [...]
Noch'n Tip: Du solltest (musst) alle Variablen die Text enthalten bei der Übergabe an ein Commando, quoten.
solltest, nicht _musst_! Muss nur dann, wenn die Variable leer sein kann _und_ wenn das Kommando an der Stelle zwingend etwas erwartet _und_ wenn die Variable Leerzeichen enthalten kann, aber als ein Argument dienen soll: v="`ls *.txt`" # "", weil sonst in $v nur die erste Datei steht for i in $v; do ... done # kein "", weil die Dateien in $v Einzelargumente sind FINDOPT="-mtime +7" # "", weil sonst in $FINDOPT nur -mtime steht find / $FINDOPT -print # kein "", weil FINDOPT auch wegbleiben kann
test "X$ADDRESSE" = XEOF
oder besser
test "X$ADDRESSE" = "XEOF"
Das X verhindert, dass ADDRESSE leer ist, die Quotes bewirken, dass test ADDRESSE als _ein_ Parameter behandelt wird.
Das ist doppelt gemoppelt. test "$Variable" = "Wert" reicht völlig aus - auch bei leerer Variable. Du kannst problemlos leere Inhalte abfragen: test "$Variable" = "" && ... oder test -n "$VARIABLE" && ... oder test -z "$VARIABLE" || ... Jan