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 :

Syntax error incompréhensible dans script shell!


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut Syntax error incompréhensible dans script shell!
    Bonjour à tous!
    Je suis au bord de la crise de nerf, après trois jours passés à retourner mon premier script shell dans tous les sens.

    Coté config, je suis en mode console avec freeBSD.

    Mon problème? Qu'importe mon programme, aussi simplet soit-il, j'ai droit à un syntax error à se pendre. Un exemple? mon fichier test.sh:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/sh
     
    if [ $1 = "toto" ]
    then
    	echo "Bravo, tu sais passer un nom en paramètre!"
    fi
    Bilan (si il y a un saut à la ligne après le fi)
    $>sh test.sh
    test.sh: 7: Syntax error: end of file unexpected (expecting "then")

    Si pas de saut à la ligne après le fi
    $>sh test.sh
    test.sh: 6: Syntax error: fi unexpected (expecting "then")

    Sur d'autres scripts ça se produit aussi sur chaque elif (expecting "then"!), bref je vais devenir chèvre et je dois rendre un script ce soir . Un peu d'aide me sauvera la vie

    EDIT: je précise que selon l'ENV je suis en tcsh mais même en tcsh j'ai le droit à cette erreur de syntaxe...

  2. #2
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Ce script marche chez moi....

    Cependant tu peux effectuer les vérification suivantes:
    1. le fichier est au format unix (sinon ça fera des souci)
    2. contrôle le nombre d'arguments en entrée


    Pour vérifier le nombre d'argument, tu peux faire un truc du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if [ $# -eq 0 ]
    then
        echo "pas d'arguments"
        exit 0
    fi

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    Et bien merci beaucoup jabbounet, tu m'as aiguillé vers la réponse. En effet le script était importé de windows (je l'avais rédigé sous notepad++)...
    Quand tu m'as parlé de format unix j'ai vérifié via un cat -e si des odieux ^M (ça m'est déjà arrivé en c....) ne s'étaient pas glissés un peu partout... Et bien si.

    Merci pour ta réponse en tout cas, sans toi je n'aurai peut-etre pas pensé à vérifier ça ^^ je passe en résolu .

  4. #4
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    c'est un classique quand la syntaxe semble correcte....

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 08/09/2009, 09h14
  2. Log pour erreurs Insert dans script Shell
    Par pcsystemd dans le forum Linux
    Réponses: 1
    Dernier message: 16/06/2009, 21h54
  3. Syntax error avec un script KSH
    Par Neuromancien2 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 19/05/2008, 16h44
  4. Passwd dans script shell
    Par Caroux dans le forum Linux
    Réponses: 4
    Dernier message: 30/05/2006, 12h47

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