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 POSIX Discussion :

Problème avec les conditions if et/ou


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Par défaut Problème avec les conditions if et/ou
    Bonjour,

    J'ai un petit dans une partie de mon code avec les conditions et/ou.
    j'ai 3 variables avec des entiers: val1, val2 et val3
    En fonction des valeurs des 3 valeurs je dois définit les valeur de val4 et val5.

    Si (val1=1 ou 2 ou 3) ET (val2=0 OU 2) alors val4 prend 1 sinon 0
    Si val3 est différent de vide ET val2 est différent de 4 alors val5 prend 1 sinon 0.

    Voici ce que j'ai fait mais j'ai des erreurs.
    merci de votre aide

    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
    if (([ $val1 -eq 1 ] || [ $val1 -eq 2 ] || [ $val1 -eq 3 ]) && ([ $val2 -eq 0 ] || [ $val2 -eq 2 ]))
    	then
    		val4=1
    	else
            	val4=0
    	fi
     
     
     
    if ([ !($val3 -eq NULL) ] && [ $val2 -eq 4 ]) 
    then
    	val5=1
    else
            val5=0
    fi

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    NULL n'est pas reconnu comme étant une chaine vide, seulement comme la chaine 'NULL'.
    Pour tester si une chaine est vide ou non, on utilise respectivement -z et -nDans ton premier test, tu peux simplifier en utilisant la reconnaissance de format.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if [ "${val1}" = [123] ] && [ "${val2}" = [02] ]
    then
      val4=1
    else
      val4=0
    fi
    if [ -n "${val3}" ] && [ "${val2}" -ne 4 ]
    then
      val5=1
    else
      val5=0
    fi
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Par défaut
    merci pour cette contribution.

    Pour le 1er cas la condition sur val1 est 1 ou 2 ou 3 et non 123.

    Donc val4 prend la valeur 1 si [val1=1 ou si val1=2 ou si val1=3] ET si (val2=0 ou val2=2].


    Cdt

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    As-tu testé la solution proposée ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 48
    Par défaut
    Oui et j'ai toujours 0 dans les deux cas

  6. #6
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Quel shell utilises-tu ? Sur quel système ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

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

Discussions similaires

  1. Problème avec les conditions
    Par vasilpapa dans le forum Haskell
    Réponses: 8
    Dernier message: 02/05/2014, 20h51
  2. Problème avec les conditions
    Par yoyo-tns dans le forum Shell et commandes POSIX
    Réponses: 4
    Dernier message: 27/11/2012, 09h45
  3. [PHP 5.3] Problème avec les conditions, lors de l'identification
    Par Devildz dans le forum Langage
    Réponses: 5
    Dernier message: 03/02/2012, 18h02
  4. Réponses: 9
    Dernier message: 29/03/2011, 20h45
  5. Problème avec les conditions ''sous-ensemble d'un tableau''
    Par djangossoul dans le forum LabVIEW
    Réponses: 2
    Dernier message: 07/06/2007, 12h23

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