Cygwin

Résolu
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. 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. 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.
  2. 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. Modérateur
      Salut,

      execute le script avec la commande
      sh -vx ton_script.sh
      et affiche ici ce que vois
      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 ~
        $
      2. 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.
      3. Contributeur
        est-ce qu'il y a une fin de ligne après le fi ?

        fi<enter>
      4. @dubceknon, mais lorsque j'essai de la rajouter il me donne comme message " line 8: syntax error: unexpected end of file" merci
      5. Contributeur
        @dubcekAvec quel editeur ?
        essayer d'ajouter
        fi<enter>
        exit<enter>
    2. salut lami20j.
      le probleme n'est pas resolu il reste le message d'erreur
      1. Modérateur
        Salut,

        essaie
        #!/bin/bash
        if [ $# = 2 ]
        then
        echo "bonjour1 $2 $1 "
        else
        echo "syntaxe $0"
        fi
        
        1. Modérateur
          Salut,

          affiche ton script
          1. mon script est:
            #!/bin/bash
            if [$#=2]
            then
            echo "bonjour1 $2 $1 "
            else
            echo "syntaxe $0"
            fi