IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

multi-test dans bash avec double crochets


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 345
    Par défaut multi-test dans bash avec double crochets
    Bonjour,
    Je cherche a vérifier plusieurs conditions dans un seul test.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nb=5 ; test $nb -ge 3 -a $nb -le 7 && echo yes || echo no
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nb=5 ; [ $nb -ge 3 -a $nb -le 7 ] && echo yes || echo no
    fonctionne parfaitement.
    Mais avec les doubles crochets ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    nb=5 ; [[ $nb -ge 3 -a $nb -le 7 ]] && echo yes || echo no
    bash: erreur de syntaxe dans une expression conditionnelle
    bash: erreur de syntaxe près de « -a »
    Quelque chose m'échappe ici.
    J'ai bien parcouru man bash mais les explications sur les doubles crochets sont très sommaires.
    Cordialement.

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 341
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    $ help '[['
    [[ ... ]]: [[ expression ]]
        Execute conditional command.
    
        Returns a status of 0 or 1 depending on the evaluation of the conditional
        expression EXPRESSION.  Expressions are composed of the same primaries used
        by the `test' builtin, and may be combined using the following operators:
    
          ( EXPRESSION )    Returns the value of EXPRESSION
          ! EXPRESSION              True if EXPRESSION is false; else false
          EXPR1 && EXPR2    True if both EXPR1 and EXPR2 are true; else false
          EXPR1 || EXPR2    True if either EXPR1 or EXPR2 is true; else false
    
        When the `==' and `!=' operators are used, the string to the right of
        the operator is used as a pattern and pattern matching is performed.
        When the `=~' operator is used, the string to the right of the operator
        is matched as a regular expression.
    
        The && and || operators do not evaluate EXPR2 if EXPR1 is sufficient to
        determine the expression's value.
    
        Exit Status:
        0 or 1 depending on value of EXPRESSION.
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ nb=5 ; [[ $nb -ge 3 && $nb -le 7 ]] && echo yes || echo no
    yes
    ou même (le principe des doubles crochets) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ nb=5 ; [[ nb -ge 3 && nb -le 7 ]] && echo yes || echo no
    yes

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quand mettre des doubles crochets dans un test ?
    Par doudou8mc dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 08/07/2015, 11h08
  2. Image Flottante dans un article avec double colonne
    Par sapajou69 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 11/01/2008, 09h47
  3. Problème avec la multi-sélection dans une zone de liste
    Par Mimisio dans le forum VBA Access
    Réponses: 2
    Dernier message: 16/07/2007, 16h23
  4. Test d'expression avec bash
    Par Fluxy dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 28/03/2007, 07h56
  5. Réponses: 9
    Dernier message: 05/04/2006, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo