[linux-l] bash: [[ vs. [
Jan-Benedict Glaw
jbglaw at lug-owl.de
Do Mai 15 16:05:22 CEST 2003
On Thu, 2003-05-15 08:24:09 +0200, Steffen Dettmer <steffen at dett.de>
wrote in message <20030515082408.D3311 at dx.net.de>:
> * Jan-Benedict Glaw wrote on Wed, May 14, 2003 at 10:21 +0200:
> > On Wed, 2003-05-14 09:36:52 +0200, Baerwaldt, Ralf <Ralf.Baerwaldt at Dresdner-Bank.com>
> > wrote in message <14FE9BE2E623D611B7A40008C75D99B002A9F430 at ffz00za6.ffz00e.mail.dresdner.net>:
> > > Hallo !
> > >
> > > Kann mir jemand den Unterschied zwischen den
> > > beiden Testkonditionen [[ ... ]] und [ ... ]
> > > erklaeren ?
> >
> > $ man 7 regex
> >
> > [[...]] wird benutzt, um vordefinierte Zeichenmengen zu testen.
>
> 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:
$ echo -e "hallo\n123\nha123"|grep '[[:digit:]]'
123
ha123
vs.
$ echo -e "hallo\n123\nha123"|grep '[la]'
hallo
ha123
In der Shell arbeitet das ähnlich wie in C:
$ A=1
$ B=0
$ if [[ $A == 1 && $B == 1 ]]; then echo beide; fi
$ B=1
$ if [[ $A == 1 && $B == 1 ]]; then echo beide; fi
beide
Die Schreibweise "$[4==5]" ist mir allerdings ungeläufig und in der mab
page finde ich dazu auch nix...
> > [...]
> > wird benutzt, um selbstdefinierte Mengen zu testen.
>
> Hab das in man bash nicht gefunden, nur bei
> und for file in [] usw. $[6+7] ist ja artithmetic Ausdruck,
> warum behauptet man page, daß müsse [[]] sein?
Ja, wir haben aneinander vorbeigesprochen...
> 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:)
MfG, JBG
--
Jan-Benedict Glaw jbglaw at lug-owl.de . +49-172-7608481
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg
fuer einen Freien Staat voll Freier Bürger" | im Internet! | im Irak!
ret = do_actions((curr | FREE_SPEECH) & ~(IRAQ_WAR_2 | DRM | TCPA));
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : nicht verfügbar
Dateityp : application/pgp-signature
Dateigröße : 189 bytes
Beschreibung: nicht verfügbar
URL : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20030515/a081ec42/attachment.sig>
Mehr Informationen über die Mailingliste linux-l