> Le 22 déc. 2017 à 09:19, Jean-Marc <[email protected]> a écrit : > > Thu, 21 Dec 2017 18:13:19 +0100 > Daniel Caillibaud <[email protected]> écrivait : > >> Pourquoi ? >> >> $ [[ 'abcd' =~ '^ab' ]] && echo ok || echo KO >> KO >> >> $ [[ 'abcd' =~ 'cd$' ]] && echo ok || echo KO >> KO >> >> ?? > > Parce qu'entre guillemets, les caractères ^ et $ sont considérés comme des > caractères normaux. > > $ set -x > > $ [[ 'abcd' =~ '^ab' ]] && echo ok || echo KO > + [[ abcd =~ \^ab ]] > + echo KO > KO > > $ [[ 'abcd' =~ ^'ab' ]] && echo ok || echo KO > + [[ abcd =~ ^ab ]] > + echo ok > ok > > $ [[ 'abcd' =~ 'cd$' ]] && echo ok || echo KO > + [[ abcd =~ cd\$ ]] > + echo KO > KO > > $ [[ 'abcd' =~ 'cd'$ ]] && echo ok || echo KO > + [[ abcd =~ cd$ ]] > + echo ok > ok > > un petit "set -x" fonctionne bien, même dans une session interactive. > > Joyeux Noël !!!
Cette explication avec appuis de l’exemple est effectivement beaucoup plus
claire que ma réponse. Effectivement l’utilisation du « set -x » est une
excellente façon de voir ce qui se passe.
Merci
--
Pierre Malard
« Si, comme le disait le général de Gaulle, la France n'avait pas été la
France... on peut logiquement penser que tous les français auraient été
des étrangers » ;-)
Pierre Dac
|\ _,,,---,,_
/,`.-'`' -. ;-;;,_
|,4- ) )-,_. ,\ ( `'-'
'---''(_/--' `-'\_) πr
perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-. ;-;;,_: |,A- ) )-,_. ,\
( `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"' `-'"'"'\_):
24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--
signature.asc
Description: Message signed with OpenPGP

