[linux-l] bash: [[ vs. [

Steffen Dettmer steffen at dett.de
Do Mai 15 21:28:14 CEST 2003


* Jan-Benedict Glaw wrote on Thu, May 15, 2003 at 16:05 +0200:
> On Thu, 2003-05-15 08:24:09 +0200, Steffen Dettmer <steffen at dett.de>
> wrote in message <20030515082408.D3311 at dx.net.de>:
> > Laut man page ist das ein boolean Ausdruck. Wie verwendet man
> > das? [[1==2]] && echo "no" geht nicht. Ich verwende sonst meist
> > $[], also $[4==5] usw. Wie wendet man beide eigentlich an?
> 
> Ach, ja, eh, andere Baustelle. Ich meinte:

ach so, ja, sorry.

> $ if [[ $A == 1 && $B == 1 ]]; then echo beide; fi

Ahh, so geht das! Schreib meistens if [ $A = 1 -a $B = 1 ], ist
natürlich execve zu test.

> Die Schreibweise "$[4==5]" ist mir allerdings ungeläufig und in
> der mab page finde ich dazu auch nix...

Ich auch nicht. Wie kam ich drauf? Schreib übrigens eher $((1+1))
fiel mir ein. Und zum Glück gibt's Perl.

> > Bin verwirrt (hätte die manpage lieber nicht lesen sollen :-))...
> 
> Das kann ich verstehen:) Ich hab' sie mir vor einiger Zeit mal
> ausgedruckt und finde jeden Tag noch neue Dinge, die ich da lernen
> kann:)

Ja, Perl z.B. :-)

Nach dem ich mal ein Script mit etlichen for ((n=1; n<10; n++))
gebastelt hatte, was ich damals dann nicht einsetzen konne, weil
die bash zu alt war, mag ich das nicht mehr wirklich. Hab mich
extra mit bash abgequält, weil portabler. Na ja, bloß eben
for(()) gabs bei Bash 1.x noch nicht. Tja, reingefallen :-) Ist
aber lange her.

oki,

Steffen

-- 
Dieses Schreiben wurde maschinell erstellt,
es trägt daher weder Unterschrift noch Siegel.




Mehr Informationen über die Mailingliste linux-l