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 :

Test multiple sur une variable non définie


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti Avatar de Rei Angelus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 292
    Points : 356
    Points
    356
    Par défaut Test multiple sur une variable non définie
    Bonjour,

    J' effectue un test sur une variable qui n'est pas nécessairement définie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if test -z $NB_PDU -o  $NB_PDU -ne 0
    then
          echo "ERREUR"
    fi
    Lorsque $NB_PDU vaut 0 pas de soucis, mais lorqu'il n'est pas défini
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test: too many arguments
    Y-a-t'il une solution autre que faire deux if successifs ?

  2. #2
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Pourquoi ne pas l'initialiser par défaut ?

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [ -n "$var1" ] || [ -n "$var2" ]
    then
            echo bla
    fi
    cette façon de former un if avec un ou fonctionne

    Tu n'as aps besoin d'utiliser test dans une condition.

  4. #4
    Membre averti Avatar de Rei Angelus
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2006
    Messages : 292
    Points : 356
    Points
    356
    Par défaut
    Citation Envoyé par ggnore Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if [ -n "$var1" ] || [ -n "$var2" ]
    then
            echo bla
    fi
    cette façon de former un if avec un ou fonctionne

    Tu n'as aps besoin d'utiliser test dans une condition.
    Effectivement, cela fonctionne bien. J'avais essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if [[ -z $NB_PDU ] || [ $NB_PDU -ne 0 ]]
    qui ne marche pas.

    Merci

  5. #5
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Tu y étais presque. Ce qui suit marche

    Avec cette syntaxe, tu n'es pas obligé de protéger tes noms de variables par des double-quotes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [[ -z $NB_PDU || $NB_PDU -ne 0 ]]

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

Discussions similaires

  1. Test If sur une variable interger
    Par Poor Frog dans le forum Général VBA
    Réponses: 1
    Dernier message: 20/03/2013, 20h23
  2. ++ sur une variable non définie
    Par sabotage dans le forum Langage
    Réponses: 3
    Dernier message: 31/10/2008, 16h19
  3. une variable non définie?
    Par Maxence45 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 25/11/2007, 12h23
  4. faire un test sur une variable
    Par donny dans le forum Langage
    Réponses: 3
    Dernier message: 04/12/2006, 15h55
  5. [HTML] boucle sur une variable et non pas un tableau
    Par delma dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/11/2006, 15h03

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