Il a été changé entre 3.1 et 3.2. Deviner le guide avancé nécessite une mise à jour.
C'est un laconique description de la nouvelle
fonctionnalités ajoutées à la bash-3.2 depuis le
version de bash-3.1. Comme toujours, l'
page de manuel (doc/bash.1) est l'endroit
pour chercher des descriptions complètes.
- Nouvelles Fonctionnalités de Bash
snip
f. Citant l'argument de chaîne à l'
[[ commande =~ exploitant les forces de
correspondance de chaîne, comme avec les autres "pattern-matching" des opérateurs.
Malheureusement, cela va casser le devis existant à l'aide de scripts sauf si vous avez eu la perspicacité de stocker des patterns dans les variables et les utiliser au lieu de les regexes directement. L'exemple ci-dessous.
$ bash --version
GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
$ number=2
$ if [[ $number =~ "[0-9]" ]]; then echo match; fi
$ if [[ $number =~ [0-9] ]]; then echo match; fi
match
$ re="[0-9]"
$ if [[ $number =~ $re ]]; then echo MATCH; fi
MATCH
$ bash --version
GNU bash, version 3.00.0(1)-release (i586-suse-linux)
Copyright (C) 2004 Free Software Foundation, Inc.
$ number=2
$ if [[ $number =~ "[0-9]" ]]; then echo match; fi
match
$ if [[ "$number" =~ [0-9] ]]; then echo match; fi
match