bash: [ -e ] --> True

19/12/2008 - 13:41 von Thomas Guettler | Report spam
Hallo,

warum ist die test Aufruf [ -e ] wahr?

Ich finde man sollte eine Fehlermeldung bekommen, oder
ist das eine zulàssige Abfrage?

Shell: Gnu Bash 3.2.25

Thomas

Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
 

Lesen sie die antworten

#1 Heike C. Zimmerer
19/12/2008 - 14:05 | Warnen spam
Thomas Guettler writes:

warum ist die test Aufruf [ -e ] wahr?

Ich finde man sollte eine Fehlermeldung bekommen, oder
ist das eine zulàssige Abfrage?



Ein 'test' mit nur einem Argument ist immer ein Test auf nicht leer,

[ beliebiger_text_oder_var ]

ist dasselbe wie

[ -n beliebiger_text_oder_var ]

In Deinem Fall heißt der Text "-e". Zweideutigkeiten können dann nicht
auftreten, wenn das Argument (wie es ohnehin sein sollte, da ein
Filename auch Sonderzeichen enthalten kann) gequotet ist, denn

[ -e "" ]

liefert false.

Gruß,

Heike

Ähnliche fragen