Re: Bedingtes Setzen von bash-Umgebungsvariablen

From: Christian Lackas <lackas(at)mail.desy.de>
Date: Fri, 18 Oct 2002 14:02:57 +0200

* Dominik Brettnacher <domi(at)saargate.de> [021018 13:51]:

Hallo Dominik,

> > if [ ${TERM}x = "xtermx" ]; then
> Mal ne unbedarfte Frage, weil ich das jetzt schon häufiger gesehen habe:
> warum macht man immer diesen Spass mit dem angehängten x?
> Warum tut es nicht auch
> if [ ${TERM} = "xterm" ]; then

weil die Shell mit Variablen nicht so umgeht wie man es von »richtigen«
Programmiersprachen gewohnt ist. Wenn die Variable TERM leer (oder auch
nicht definiert ist), dann sieht die Shell nach der Interpolation der
Variablen:

    if [ = "xtermx" ]; then

und wird dir eine »[: =: unary operator expected« Fehlermeldung
ausspucken. Bei obiger Loesung steht dann noch

    if [ x = "xtermx" ]; then

da; und das ist ja syntaktisch korrekt (und logisch falsch).

Gruss
 Christian

-- 
Es muß für einen Architekten schon blöd sein, wenn ihm dauernd was 
einfällt.
http://www.lackas.net/ Perl Delphi Linux MP3 Searchengines Domainchecker
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 18 Oct 2002 - 14:03:38 CEST

search this site