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 :

Erreur que je ne comprends pas


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
    Étudiant
    Inscrit en
    Février 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 13
    Par défaut Erreur que je ne comprends pas
    Bonjour,

    J'ai écrit un script et à l’exécution j'ai une erreur "bizarre":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $ ./q4.sh 1 + 3
    ./q4.sh: line 5: Erreur de syntaxe près du symbole inattendu « $'in\r' »
    '/q4.sh: line 5: `case $2 in
    Voici mon script shell:

    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
    #! /bin/bash
    if test "$#" = "3"
    then
     
    case $2 in
    	"+")
           		somme=$(($1 + $3))
           		echo "$1+$3=$somme"
           		;;
        	"-")
           		soust=$(($1 - $3))
           		echo "$1-$3=$soust"
           		;;
        	"/")
           		diviz=$(($1 / $3))
           		echo "$1/$3=$diviz"
           		;;
        	"*")
           		mult=$(($1 * $3))
           		echo "$1*$3=$mult"
           		;;
        	*)
           		echo "je ne connais pas cette operation"
           		;;
    esac
    else
        echo "il n y a pas 3 arguments !"
    fi
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Fait un dos2unix sur ton script. Il semblerait qu'il possède le retour chariot de windows

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 13
    Par défaut
    Oh merci ça marche !!!

    Mais tu peux m'expliquer pourquoi s'il te plait...... j'utilise cygwin sous windows 7 et j'ai gedit également sur windows 7 pour écrire mes scripts

  4. #4
    Invité
    Invité(e)
    Par défaut
    Le retour chariot sous windows est \r\n
    Celui sous Uniw/linux est \n

    Le \r en plus est ce qui t'a posé problème.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 13
    Par défaut
    Citation Envoyé par Beginner.j Voir le message
    Le retour chariot sous windows est \r\n
    Celui sous Uniw/linux est \n

    Le \r en plus est ce qui t'a posé problème.
    Ah ok....je te remercie

    J'ai une autre question: quand je l’exécute avec par exemple ./q4.sh 1 + 3, sa fonctionne ( pour / et - aussi) mais un * sa ne marche pas: il me réponds "il n’y a pas 3 arguments" !!

  6. #6
    Invité
    Invité(e)
    Par défaut
    Essye la commande suivante pour comprendre ce problème.
    Essaye avec \* au lieu de * pour lancer ton script.
    Mais le mieux serait d'utiliser x plutôt que *.

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

Discussions similaires

  1. [Tableaux] Une erreur que je ne comprend pas
    Par bibom dans le forum Langage
    Réponses: 2
    Dernier message: 01/08/2006, 18h47
  2. [debug] erreur que je ne comprend pas
    Par PoZZyX dans le forum Java ME
    Réponses: 4
    Dernier message: 11/07/2006, 08h05
  3. std ::vector [erreur que je ne comprend pas]
    Par aaronw dans le forum SL & STL
    Réponses: 8
    Dernier message: 05/03/2006, 21h00
  4. [Débutant] Message d'erreur que je ne comprends pas
    Par Le Furet dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2006, 17h37
  5. [PostGreSQL] une erreur que je ne comprends pas
    Par flo78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 10h18

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