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 :

Structure de contrôle


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 51
    Par défaut Structure de contrôle
    Bonjour à tous!!! Je suis débutant sous Linux j'essaye de créer un script qui demande deux nombres à l'utilisateur et l'informe ensuite si leur produit est positif ou négatif sans tenir compte du cas où c'est nul. Mais je n'y arrive pas j'ai sans arrêt des erreurs.
    Pourriez vous m'aider

  2. #2
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Il faudrait que tu donnes ce que tu as commencé à coder, pour que l'aide apportée puisse partir de cette base et t'être profitable.

  3. #3
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 51
    Par défaut
    Merci pour votre attention j'ai réussi à trouver le problème c'était dû aux crochets qui n'était pas espacé !
    Voici mon algorithme :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #!/bin/base
     
    read -p "Entrez le 1er nombre :" Nbr1
    read -p "Entrez le 2e nombre :" Nbr2
     
    If [[ Nbr1 -gt 0 && Nbr2 -gt 0 ]] || [[ Nbr1 -lt 0 && Nbr2 -lt 0 ]]; then 
    Echo " le nombre est positif "
    Else 
    Echo " le nombre est négatif "
    Fi

  4. #4
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 51
    Par défaut
    Mais j'aurai aimé faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    read -p " entrez les deux nombres : " Nbr1, Nbr2
    Afin d'entrer directement les deux nombres et réduire mon code
    Mais quand j'écris ainsi ça me retourne une erreur

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ read -p "Entrez les 2 nombres : " a b
    Entrez les 2 nombres : 6 5
    $ echo $a
    6
    $ echo $b
    5

  6. #6
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Pour l'erreur de syntaxe en #5, il manque le mot-clef then après le elif (et je suppose que le « de » qui traine dans le while vient d'un problème de copié-collé).
    Mais la logique de ce code est à revoir : si Nbr n'est pas plus grand que 10, il sera forcément plus petit que 20, et tout nombre sera donc considéré comme valide par le if then else.
    Mais de toutes façons, le while a déjà filtré les nombres entre 10 et 20, et il boucle infiniment si jamais on rentre dedans.
    Tu aurais aussi pu, comme en #3, ne pas mettre de $ devant les noms de variables, lorsqu'il s'agit de nombres entiers dans des tests entre doubles crochets, ni de guillemets qui ne sont jamais nécessaires dans ce type de tests.

  7. #7
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 51
    Par défaut Structure de contrôle
    J'ai effectué également un autre exercice qui consiste à créer un algorithme qui demande à l'utilisateur un nombre compris entre 10 et 20

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/bin/bash 
     
    read -p "Entrez un nombre compris entre 10 et 20" Nbr
     
    While  [[ "$Nbr" -ge de 10  && "$Nbr" -le 20 ]]; do
                If [[ "$Nbr" -ge 10 ]]; then
                    echo "le nombre est supérieur ou égale à 10" 
                 elif  [[ "$Nbr" -le 20 ]]
                    echo "le nombre est inférieur ou égale  à 20" 
                 else 
                    echo "entrez un nombre valide"
                fi 
    done

  8. #8
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2019
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2019
    Messages : 51
    Par défaut
    Ce code me retourne l'erreur :
    "Syntax error near unexpected token 'else'

    Je ne comprends pas pourquoi

  9. #9
    Membre Expert
    Avatar de Escapetiger
    Homme Profil pro
    Administrateur système Unix - Linux
    Inscrit en
    Juillet 2012
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Administrateur système Unix - Linux

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1 559
    Par défaut
    @FrancisTita
    Prends le temps de lire les règles du club s'il te plaît (pour le code notamment):

    Démonstration de l'utilisation du bouton code (#)
    source: Le Club developpez.com - Les règles du Club - III-E. Les balises Code

    Par ailleurs, les copié/collé renvoient des majuscules en tête de ligne qui ne sont pas correctement interprétées en shell bash (voir Les meilleurs cours et tutoriels pour apprendre le système Linux - SHELL)
    « Developpez.com est un groupe international de bénévoles dont la motivation est l'entraide au sens large » (incl. forums developpez.net)
    Club des professionnels en informatique

    Liste des balises BB

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

Discussions similaires

  1. [Lex/Yacc] Aide traduction des structures de contrôle
    Par pelo68 dans le forum Générateurs de compilateur
    Réponses: 2
    Dernier message: 07/12/2010, 10h26
  2. Créer des noms de WinForm dans une structure de contrôle ?
    Par Feroen dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/08/2007, 08h12
  3. Réponses: 7
    Dernier message: 12/03/2007, 09h06

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