Exécution d'un script shell avec CygWin ?
Résolu/Fermé
Karto
Messages postés
5
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
15 juin 2007
-
19 déc. 2006 à 18:44
Mr Ashe - 30 mars 2011 à 01:21
Mr Ashe - 30 mars 2011 à 01:21
A voir également:
- Cygwin ou shell bash
- Classic shell windows 11 - Télécharger - Personnalisation
- Retour à la ligne bash ✓ - Forum Shell
- Bash permission non accordée - Forum Shell
- Bingo bash free - Télécharger - Divers Jeux
- Bash écrire dans un fichier - Forum Shell
9 réponses
Karto
Messages postés
5
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
15 juin 2007
7
15 juin 2007 à 18:42
15 juin 2007 à 18:42
Je répond donc à mon propre message.
J'avais largement oublié cette discution quand un collègue ma apporté la réponse.
Apparemment certaines version de CygWin sont en mode Unix et ne reconnaissent pas les fichiers générés par WordPad (ou Crimson dans mon cas). Il faut donc, dans la fenêtre CygWin, convertir le fichier contenant le script par la commande :
$dos2unix nomFich.sh
On peut aussi utiliser dans certains éditeurs la comande Document->File Format->Unix Format
J'avais largement oublié cette discution quand un collègue ma apporté la réponse.
Apparemment certaines version de CygWin sont en mode Unix et ne reconnaissent pas les fichiers générés par WordPad (ou Crimson dans mon cas). Il faut donc, dans la fenêtre CygWin, convertir le fichier contenant le script par la commande :
$dos2unix nomFich.sh
On peut aussi utiliser dans certains éditeurs la comande Document->File Format->Unix Format
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
19 déc. 2006 à 19:23
19 déc. 2006 à 19:23
Salut,
Ton script est-il exécutable au moins ?
Jette un oeil à cet excellent article de la FAQ de CCM...
;-))
Ton script est-il exécutable au moins ?
Jette un oeil à cet excellent article de la FAQ de CCM...
;-))
Karto
Messages postés
5
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
15 juin 2007
7
20 déc. 2006 à 12:36
20 déc. 2006 à 12:36
Salut, merci pour ta réponse.
J'aivérifié, le script est bien exécutable. En fait, après le
#!bin/sh il avait un autre commentaire qui foutait la grouille. C'est ça de récupérer des exemples sur le net !
Par contre j'ai toujours des choses surprenantes dès que j'utilise des instructions un peu plus complexes que "echo" :
#! /bin/sh
cat fich1.txt fich2.txt > res.txt
ce script me créé bien le fichier "res.txt", par contre si le "cat" est suivi d'une autre instruction ("echo fin" par ex.) il est ignoré
$ ./test.sh
: No such file or directory
fin
La question est donc : est-ce que CYWIN est bien adapté à l'exécution des scripts ???
ou corolaire : est-ce que j'y comprendrais rien ??
J'aivérifié, le script est bien exécutable. En fait, après le
#!bin/sh il avait un autre commentaire qui foutait la grouille. C'est ça de récupérer des exemples sur le net !
Par contre j'ai toujours des choses surprenantes dès que j'utilise des instructions un peu plus complexes que "echo" :
#! /bin/sh
cat fich1.txt fich2.txt > res.txt
ce script me créé bien le fichier "res.txt", par contre si le "cat" est suivi d'une autre instruction ("echo fin" par ex.) il est ignoré
$ ./test.sh
: No such file or directory
fin
La question est donc : est-ce que CYWIN est bien adapté à l'exécution des scripts ???
ou corolaire : est-ce que j'y comprendrais rien ??
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 déc. 2006 à 12:41
20 déc. 2006 à 12:41
Salut,
est-ce que CYWIN est bien adapté à l'exécution des scripts ???
OUI.
est-ce que j'y comprendrais rien ??
je dirai plutôt que tu es impatient :-))
Affiche ce que contient ton script pour pouvoir trouver l'erreur.
est-ce que CYWIN est bien adapté à l'exécution des scripts ???
OUI.
est-ce que j'y comprendrais rien ??
je dirai plutôt que tu es impatient :-))
Affiche ce que contient ton script pour pouvoir trouver l'erreur.
Karto
Messages postés
5
Date d'inscription
mardi 19 décembre 2006
Statut
Membre
Dernière intervention
15 juin 2007
7
20 déc. 2006 à 13:20
20 déc. 2006 à 13:20
Oui je sais, je suis un peu impatient ...
Le voilà ce fameux script :
#! /bin/sh
cat fich1.txt fich2.txt > res.txt
echo fin
et la réponse est :
$ ./test.sh
: No such file or directory
fin
Par contre si j'enlève le "echo" final ça marche ??????
Le voilà ce fameux script :
#! /bin/sh
cat fich1.txt fich2.txt > res.txt
echo fin
et la réponse est :
$ ./test.sh
: No such file or directory
fin
Par contre si j'enlève le "echo" final ça marche ??????
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
20 déc. 2006 à 19:26
20 déc. 2006 à 19:26
Salut,
chez moi sur Cygwin ton script fonctionne
tape
chez moi sur Cygwin ton script fonctionne
tape
sh -x test.shet affiche le résultat
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut a tous...
J'ai le même genre de problème, je dois executer des script shell fais sous linux sous windows.
Apres l'installe de Cygwin la plupart des commandes doint g besoin fonctionnent en ligne de commande MAIS des que je mets ca dans un script avec un directory quelconque, il me marque no such file or directory.
La meme commande marche en ligne de commande.
Si qqun a une idée ca serai cool
merci d'avance
J'ai le même genre de problème, je dois executer des script shell fais sous linux sous windows.
Apres l'installe de Cygwin la plupart des commandes doint g besoin fonctionnent en ligne de commande MAIS des que je mets ca dans un script avec un directory quelconque, il me marque no such file or directory.
La meme commande marche en ligne de commande.
Si qqun a une idée ca serai cool
merci d'avance
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
23 mars 2007 à 11:15
23 mars 2007 à 11:15
Salut,
il me marque no such file or directory
c'est sûrement une histoire de chemins d'accès
affiche les commandes que tu tapes pour voir
il me marque no such file or directory
c'est sûrement une histoire de chemins d'accès
affiche les commandes que tu tapes pour voir
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
15 juin 2007 à 18:48
15 juin 2007 à 18:48
Salut,
Merci d'avoir pris le temps de revenir donner la solution.
Ceci dit, si le programme n'est pas installé, on peut toujours utiliser cette astuce :
sed conversion retours chariots dos crlf unix lf
;-))
Merci d'avoir pris le temps de revenir donner la solution.
Ceci dit, si le programme n'est pas installé, on peut toujours utiliser cette astuce :
sed conversion retours chariots dos crlf unix lf
;-))
Salut à tous.
J'avais aussi des pbs d'exécution de script sous cygwin, et la solution était bien "de passer un petit coup" de dos2unix.
Je trouve cela étonnant, car je créé mes scripts avec Vim et pour moi il n'y avait pas de soucis de syntaxe avec cet éditeur.... (type ^M en fin de ligne)
Aprés vérification, il semble qu'il y ait qd meme des '$' et des '{\r' en extra avec Vim, ce que dos2unix supprime.
Merci en tous les cas !
J'avais aussi des pbs d'exécution de script sous cygwin, et la solution était bien "de passer un petit coup" de dos2unix.
Je trouve cela étonnant, car je créé mes scripts avec Vim et pour moi il n'y avait pas de soucis de syntaxe avec cet éditeur.... (type ^M en fin de ligne)
Aprés vérification, il semble qu'il y ait qd meme des '$' et des '{\r' en extra avec Vim, ce que dos2unix supprime.
Merci en tous les cas !
15 juin 2007 à 18:50
tu ne réponds pas à ton propre message puisque la question n'était pas la conversion d'un fichier dos vers unix mais
comment on exécute un script dans cygwin
pour ne pas parler de titre de message Exécution d'un script shell avec CygWin ?
en revanche si dans ta tête c'était ça la question alors la prochaine fois il faut la poser correctement ici :-))