Re: bash : test d'une chaine avec que des " "

Page principale

Répondre à ce message
Auteur: nt.guilde
Date:  
À: guilde
Sujet: Re: bash : test d'une chaine avec que des " "
Quoting anne aublanc, Sat 17 Jul 2004, 18:51 +0200 CEST :
>toe="ss"
>too=" "


Dans ce cas simple, la solution de Jean-Luc est la bonne :

if test x$toe = x$too ; then ...

Dans les cas plus compliqués qu'il mentionne, on doit recourir à un outil
qui implémente toute la puissance des expressions régulières :

if echo "$var" | egrep "expr" >/dev/null ; then

Mais bash lui-même permet un certain degré de pattern matching, ce qui
économise un processus :

shopt -s extglob
if [[ $toe == +( ) ]] ; then ...

avec, comme autres possibilités : *(expr), ?(expr), ...
man bash | less +/'^ *Pattern M'
-Nicolas Tripon

--
"The position taken by the Scots and the English take regarding their
relations is very certainly none of your affair - you insignificant
little frog-eating chancer." -Charles Walmsley