Problème cygwin depuis mise à jours

Fermé
philippe Roux - 5 mars 2007 à 23:30
 henri - 8 mars 2007 à 03:45
Bonjour,

j'utilise cygwin sur windows XP et depuis la dernière mise à jour je rencontre quelques problèmes :

- au démarrage j'ai le message : ': not a valid identifier
- l'éxécution de diverses lignes de commandes ne pose pas de problème sauf quand je veux lancer un script. par exemple :

philippe@PCP206 ~
$ cat test.sh
#!/bin/bash
for truc in *
do
echo $truc OK
done
philippe@PCP206 ~
$ ./test.sh
'/test.sh: line 3: syntax error near unexpected token `do
'/test.sh: line 3: `do

-ce script marche sur cygwin installé sur une autre machine (où je n'ai pas fait de mise à jour)
-J'ai essayé de désinstaller cygwin puis de réinstaller les packages à partir du setup.exe mais rien à faire le problème persiste

quelqu'un aurait-il une autre idée que de supprimer le répertoire C:\cygwin :-(

merci d'avance,

Philippe.
A voir également:

1 réponse

Helas apparament le nouveau cygwin se comporte comme s'il etait en mode UNIX et il n'est pas evident de tout désinstaller pour reinstaller le nouveau cygwin en mode DOS ni de revenir en arrière dans l'ancienne version.Je l'ai fait et il continue a se comporter en mode unix.
Dons ton script est probalement ecrit pour Windows (mode DOS) avec wordpad.
Verifie avec vi le mode de ton fichier script en l'editant et en regardant la ligne tout en bas dans vi :
"<ton script>"[dos format] nn lines, xxxx characters
Pour cela tu devras mettre tout tes scripts en mode unix !!
Applique donc la commande dos2unix qui se trouve dans /bin sur ton script :
$>dos2unix <ton script>
ou
$> /bin/dos2unix <ton script>
et cela ira mieux !
Tu peux aussi faire
cd <repertoire>
dos2unix * pour le repertoire
dos2unix */* pour les sous repertoire
etc etc
Attention si tu modifies un script avec wordpad le script modifié se remet en mode dos et c'est reparti pour un tour! Il faudra le modofer dorenavent avec vi ou vim ou mieux wvi (vi pour windows) plus convivial !!
Fastidieux !!
0