Cygwin

Résolu
nouenoue Messages postés 13 Statut Membre -  
 4pat -
Bonjour à tous
J'ai installé CygWin sur mon PC sous windws xp pour exécuter des script Shell.
J'ai donc écrit un script simple test.sh; mon problème c'est que lors d'exucution il m'affiche un message d'erreur: syntax error near unexpected token 'fi', alors si quelqu'un à une idée je le remercie.
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    execute le script avec la commande
    sh -vx ton_script.sh
    et affiche ici ce que vois
    1
    1. nouenoue Messages postés 13 Statut Membre 1
       
      sh -vx ton_script.sh
      Administrateur@a ~
      $ sh -vx test2.sh
      #!/bin/bash
      if [ $# = 2 ]
      then
      echo "bonjour1 $2 $1 "
      else
      echo "syntaxe $0"
      fi
      test2.sh: line 7: syntax error near unexpected token `fi'
      test2.sh: line 7: `fi'
      Administrateur@a ~
      $
      0
    2. nouenoue Messages postés 13 Statut Membre 1
       
      j ai essayé avec la syntaxe suivante :
      if [ $# = 2 ];then echo "bonjour1 $2 $1 ";else echo "syntaxe $0";fi;
      et ca marche, mais je sais pas le probleme de l'autre.
      0
    3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      est-ce qu'il y a une fin de ligne après le fi ?

      fi<enter>
      0
      1. nouenoue Messages postés 13 Statut Membre 1 > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
         
        non, mais lorsque j'essai de la rajouter il me donne comme message " line 8: syntax error: unexpected end of file" merci
        0
      2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660 > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Avec quel editeur ?
        essayer d'ajouter
        fi<enter>
        exit<enter>
        0
  2. Darksidus
     
    J'ai eu des problèmes similaires, cela venait dans mon cas des retours chariots dos que cygwin n'arrivait pas à interpréter.

    Tu peux tenter un dos2unix sur ton fichier script, ça pourrait marcher.
    1
  3. nouenoue Messages postés 13 Statut Membre 1
     
    Merci pour ton aide Darksidus la commande que tu m' a proposé c'était bien. j'ai essayé avec et ca marche. merci a tous .
    1
    1. 4pat
       
      Il suffit de mettre a jour l'install de cygwin et de lui choisir "Dos /text" dans la fenetre "Default text file type".
      Cygwin traitera alors les retour chariots Dos.
      0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    affiche ton script
    0
    1. nouenoue Messages postés 13 Statut Membre 1
       
      mon script est:
      #!/bin/bash
      if [$#=2]
      then
      echo "bonjour1 $2 $1 "
      else
      echo "syntaxe $0"
      fi
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    essaie
    #!/bin/bash
    if [ $# = 2 ]
    then
    echo "bonjour1 $2 $1 "
    else
    echo "syntaxe $0"
    fi
    
    0
  7. nouenoue Messages postés 13 Statut Membre 1
     
    salut lami20j.
    le probleme n'est pas resolu il reste le message d'erreur
    0