著者: nt.guilde 日付: To: guilde 題目: 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