Forums Neueste Beiträge
 
Tags Keywords

x"$foobar"

05/04/2012 - 12:16 von Herbert Pophal | Report spam
Hai,

wer kann mir mal die Augen öffnen und mir sagen, was bei dem Konstrukt

if [ x"$foobar" = x ]; then
...
fi

die "x"e sollen, wenn man doch einfacher

if [ "$foobar" = "" ]; then
...
fi

oder

if [ -z "$foobar" ]; then
...
fi

schreiben könnte.

Sehe ich recht oft, hat sich mir aber noch nicht erschlossen.


Herbert
 

Lesen sie die antworten

#1 Martin Vaeth
05/04/2012 - 13:01 | Warnen spam
Herbert Pophal schrieb:

if [ x"$foobar" = x ]; then
...
fi

die "x"e sollen



Das ist für einige buggy Nicht-POSIX-Shells notwendig, um zu
vermeiden, dass Werte wie foobar=-n oder foobar=! Ärger machen.
Falls im Test die (ebenfalls Nicht-POSIX) Optionen -a oder -o
benutzt werden, braucht man es in fast jedem Fall.
Einer der Hauptgründe, -a und -o konsequent zu meiden.

Ähnliche fragen