Bjr
Je continus ds mon histoire.
Je cherche à lancer un .sh depuis un .bat.
Ds mon .sh j'ai le script suivant:
#!/bin/sh
mkdir `date +%A_%e_%B_%Y`
Ds mon .bat j'ai le script suivant
CALL script1.sh
Et donc lorsque je lance mon .bat ds une invitemsdos, mon fichier sh s'ouvre mais ne se lance pas.
Pourquoi
Merci d'avance.
# sous windows ?
Posté par fasthm . Évalué à 1.
ms-dos, qui ne comprend pas la syntaxe
de ton shell script.
#! ne signifie rien pour ms-dos
La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".
# cygwin
Posté par Thierry GRAUSS . Évalué à 1.
Bash va reconnaiître ton script.
Il suffira donc taper (si bash a été installé dans le PATH de DOS) :
bash script1.sh
il est inutile de créer un .bat pour ça (si tu y tiens, tu peux mettre CALL bash script1.sh).
[^] # Re: cygwin
Posté par Eric GERMAIN . Évalué à 0.
#!/bin/sh
mkdir `date +%A_%e_%B_%Y`
xcopy /s /e z:\test c:\cygwin\bin\`date +%A_%e_%B_%Y`
Donc je cherche à copier des fichiers dans le repertoire que je viens de créer, mais avec ma syntaxe actuelle cela ne marche pas.
Peux tu m'aider?
[^] # Re: cygwin
Posté par Thierry GRAUSS . Évalué à 1.
D'après les tests que j'ai fait, cygwin fourni la commande Unix "date", mais DOS en a aussi une avec une syntaxe différente. Donc pour lancer ton script, créé une icône du shell cygwin sur le bureau (chez moi le raccourci pointe vers C:\cygwin\cygwin.bat) et lance le shell cygwin (une fenêtre texte s'ouvrira avec bash comme shell). De là tu pourras lancer ton script
#!/bin/sh
mkdir `date +%A_%e_%B_%Y`
cp -R z:\test c:\cygwin\bin\`date +%A_%e_%B_%Y`
Le script ci-dessus va copier (si le répertoire que tu as créé se trouve dans c:\cygwin\bin\) le répertoire test dans le répertoire créé. Le résultat sera : c:\cygwin\bin\`date +%A_%e_%B_%Y`\test (et tous les fichiers et répertoires dans test)
Si tu veux copier le contenu de z\test dans c:\cygwin\bin\`date +%A_%e_%B_%Y` c'est le script suivant qu'il faut :
#!/bin/sh
cp -R z:\test c:\cygwin\bin\`date +%A_%e_%B_%Y`
Ici le répertoire `date +%A_%e_%B_%Y` n'existe pas donc il sera créé et rempli avec le contenu de z:\test
Nota : cp -R : copie du répertoire Récursivement (d'où le -R) donc avec tous les sous-répertoires et fichiers
Fais un : "man cp" pour avoir une documentation sur les options possibles de cp (conservation des droits par exemple). Pour un backup tu peux utiliser cette commande à la place de celle indiquée dans le script : cp -a z:\test c:\cygwin\bin\`date +%A_%e_%B_%Y`
Autre chose, quand on dit "ça ne marche pas" et que l'on veut de l'aide, il faut donner plus d'informations (message d'erreur, commande tapée ...)
[^] # Re: cygwin
Posté par Eric GERMAIN . Évalué à 0.
peux tu me dire ce qu'il en est
/usr/bin/script1.sh: line 3: unexpected EOF whilelooking for matching `'`
/usr/bin/script1.sh: line 4: syntax error: unexpected end of file
j'ai essayé de changer ' par `ou ".
cela ne change pas
# Solutions
Posté par Eric GERMAIN . Évalué à 0.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.