PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : EXPRESSION in test... mal wieder verständnisprobleme



jean_luc_picard
20-12-2003, 19:31
Hallo Leute,

auch nach man test und Besuch der linuxfibel ist mir nun noch nicht klar geworden, wie ich folgendes teste:

[ -n $string -a ( $var1 -eq 1 -o $var2 -eq 1 ) ]

... ich meine, wie fasse ich die Bedingungen zusammen?

fork
20-12-2003, 23:54
Willst Du damit sagen, das der Ausdruck bei Dir nicht funktioniert?

Probier 's mal so, die Klammern werden sonst von der Shell sofort vereinnahmt.

[ -n $string -a \( $x1 -eq 1 -o $x2 -eq 1 \) ]

jean_luc_picard
21-12-2003, 01:32
super, so geht's... Danke :)

... weiß jetzt zwar nicht, wieso man dort wieder mit \ arbeiten muß, aber naja... Hauptsache es läuft ;) . \ soll doch "die Sonderbedeutung" des Nachfolgenden Zeichens sperren, aber hierbei soll die Klammer doch auch als solche gelesen werden, und nicht als Text :confused:

fork
21-12-2003, 15:30
Die ( hat Bedeutung für die Shell und für Test. Damit die Shell das Zeichen nicht schon vor Test interpretiert muss der \ davor.