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 :

Script calculatrice


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Student
    Inscrit en
    Novembre 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Student

    Informations forums :
    Inscription : Novembre 2018
    Messages : 35
    Par défaut Script calculatrice
    Salut les amis ..
    c'est ma premiere discussion dans cet onglet
    j'ai un petit probleme dans l'execution de ce script quand je veux la multiplication ou bien la division ..
    je me demande si quelqu'un a une idee ou bien a remarque mon erreur .. et Merci
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    # !/bin/bash
    expr $1 + 0 &> temp1
    a=$?
    expr $3 + 0 &> temp2
    b=$?
    if [ $a -lt 2 -a $b -lt 2 ]
    then
    	if [ $2 = '+' ]
    	then
    		echo $(($1+$3))
    	elif [ "$2" = '-' ]
    	then
    		 echo $(($1-$3))
    	elif [ $2 = '*' ]
    	then
    		 echo $(($1*$3))
    	elif [ "$2" = '/' ]
    	then
    			if [ $3 -ne 0]
    				then
    					 echo $(($1/$3))
    			else
    				echo " la division est impossible car le troisieme argument est nul "
    			fi
    	else
    		echo "vous n'avez pas choisie de bon outil"
    	fi
    else
    	echo "l'argument 1 est 2 doivent etre des nombres "
    fi
    rm temp1 temp2
     
    exit 0

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    Bonjour,

    expr n'est pas une commande interne bash, elle pourrait être remplacée par une évaluation arithmétique ([[ $1 =~ ^[0-9]*$ ]] || { >&2 echo error...; exit 1;}, par exemple)

    * sur la ligne de commande est remplacé par le Développement de chemins : tous les fichiers du répertoire courant.

    il manque un espace entre 0 et ].
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Homme Profil pro
    Student
    Inscrit en
    Novembre 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Student

    Informations forums :
    Inscription : Novembre 2018
    Messages : 35
    Par défaut
    l'espace a resolu le probleme de la division ... je veux realiser cette multiplication avec expr comme les autres operations ... D'abbord c'est ca la question ..
    et merci

  4. #4
    Membre averti
    Homme Profil pro
    Student
    Inscrit en
    Novembre 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Student

    Informations forums :
    Inscription : Novembre 2018
    Messages : 35
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Bonjour,
    * sur la ligne de commande est remplacé par le [i]Développement de chemins[/c] : tous les fichiers du répertoire courant.
    il manque un espace entre 0 et ].
    oui je sais que * les remplace c'est pour ca que j'ai utilise les simples quotes comme ca ' * '

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    sur la ligne de commande
    pas seulement dans le script.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre averti
    Homme Profil pro
    Student
    Inscrit en
    Novembre 2018
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Student

    Informations forums :
    Inscription : Novembre 2018
    Messages : 35
    Par défaut
    avez vous une idee ?

  7. #7
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 658
    Par défaut
    comme dans le script, il faut protéger ce caractère sur la ligne de commande, soit entre apostrophes, soit avec un barre inclinée inverse (\ )
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

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

Discussions similaires

  1. Aide script calculatrice
    Par zaham dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 08/03/2014, 01h43
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. [VB.NET 2008] Problème de script pour calculatrice
    Par volonter dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/08/2009, 18h35

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