1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| [[ expression ]]
Renvoie un état de 0 ou 1 selon l'évaluation de la condition expression. Les conditions sont composées de primitives décrites ci-dessous dans CONDITIONS. Le découpage en mots et le développement des chemins ne sont pas effectués sur les mots entre [[ et
]] ; le développement des tildes, des paramètres, des variables, le développement arithmétique, la substitution de commande et de processus, ainsi que la suppression des protections sont effectués. Les opérateurs conditionnels comme -f ne doivent pas
être protégés afin d'être reconnus comme primitives.
Lorsqu'ils sont utilisés avec [[, les opérateurs < et > ordonnent d'un point de vue lexicographique en utilisant les paramètres linguistiques régionaux actuels.
Consultez la description de la commande interne test (consultez COMMANDES INTERNES DE L'INTERPRÉTEUR ci-dessous) pour la gestion des paramètres (c'est-à-dire des paramètres manquants).
Quand les opérateurs == et != sont utilisés, la chaîne placée à droite de l'opérateur est considérée comme étant un motif dont la correspondance est recherchée selon les règles décrites ci-dessous dans Motifs génériques, comme si loption extglob de linter‐
préteur était activée. Lopérateur = est équivalent à ==. Si l'option d'interpréteur nocasematch est activée, la mise en correspondance est effectuée sans tenir compte de la casse (différence majuscule/minuscule) des caractères alphabétiques. La valeur ren‐
voyée est 0 si les chaînes correspondent (==), ou ne correspondent pas (!=), au motif et 1 sinon. Toute partie du motif peut être protégée pour forcer la partie protégée à correspondre en tant que chaîne.
Un opérateur binaire supplémentaire, =~, est disponible, avec la même priorité que == et !=. Lorsqu'il est utilisé, la chaîne à droite de l'opérateur est considérée comme une expression rationnelle étendue et est mise en correspondance en conséquence (comme
avec regex(3)). La valeur renvoyée est 0 si la chaîne correspond au motif et 1 si elle ne correspond pas. Si l'expression rationnelle n'est pas syntaxiquement correcte, la valeur renvoyée de l'expression conditionnelle est 2. Si l'option d'interpréteur nocase‐
match est activée, la mise en correspondance est effectuée sans tenir compte de la casse. Toute partie du motif peut être protégée pour forcer la partie protégée à correspondre en tant que chaîne. Les expressions entre crochets des expressions rationnelles
doivent être traitées prudemment car les caractères de protection habituels perdent leur signification entre crochets. Si le motif est stocké dans une variable de linterpréteur, la protection de développement de variable force le motif entier à correspondre
en tant que chaîne. Les sous-chaînes mises en correspondance avec des sous-expressions entre parenthèses dans l'expression rationnelle sont sauvegardées dans la variable tableau BASH_REMATCH. L'élément d'indice 0 de BASH_REMATCH est la partie de la chaîne cor‐
respondant à l'expression rationnelle complète. L'élément d'indice n de BASH_REMATCH est la partie de la chaîne correspondant à la n-ième sous-expression entre parenthèses. |
Partager