Lancement script .sh au travers d'un .bat
Fermé
Ben
-
26 janv. 2012 à 16:56
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 30 janv. 2012 à 14:53
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 30 janv. 2012 à 14:53
A voir également:
- Lancement script .sh au travers d'un .bat
- Script vidéo youtube - Guide
- Fichier bat - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Qu'est ce qui se lance au démarrage de l'ordinateur - Guide
- Ghost script - Télécharger - Polices de caractères
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
26 janv. 2012 à 17:23
26 janv. 2012 à 17:23
Salut,
Essaies plutôt avec un script comme ça :
Essaies plutôt avec un script comme ça :
#! /bin/bash if [ -e FILE ] then while true do echo FILE WILL BE OVERWRITTEN echo OVERWRITTE FILE ? - YES / NO read UserAnswer case "${UserAnswer}" in YES) echo "ACTIONS FOR YES" break ;; NO) echo "ACTIONS FOR NO" break ;; *) echo "ANSWER NOT UNDERSTOOD" continue ;; esac done fi echo echo "THAT'S ALL"
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
27 janv. 2012 à 11:44
27 janv. 2012 à 11:44
salut.
le problème du pipe, si je ne me trompe pas c'est de relier la sortie standard d'une commande à l'entrée standard d'une autre. Donc, en toute logique, read va lire d'après ce que tu passes dans le pipe.
Chez moi, cygwin est en fait un .bat qui lance bash
essai alors de faire :
le problème du pipe, si je ne me trompe pas c'est de relier la sortie standard d'une commande à l'entrée standard d'une autre. Donc, en toute logique, read va lire d'après ce que tu passes dans le pipe.
Chez moi, cygwin est en fait un .bat qui lance bash
essai alors de faire :
C: // ou la lettre de lecture de cygwin chdir c:\cygwin\bin bash c:\chemin\script.sh
ALors je viens de tester ta solution à la difference je lance mon sh avec
bash --login -i c:\chemin\script.sh
sinon il ne reconnait pas certaines fonctions.
Cela lance bine mon sh ds cygwin mais il me trouve une erreur qui n'y avait pas avant => "ambiguous redirect" à chaque fois que j'envoie mes resultats dans un fichier texte !!
J'avoue ne pas comprendre le pourquoi de la difference alors que la manip est la mm mais executée de deux façons differentes ?
bash --login -i c:\chemin\script.sh
sinon il ne reconnait pas certaines fonctions.
Cela lance bine mon sh ds cygwin mais il me trouve une erreur qui n'y avait pas avant => "ambiguous redirect" à chaque fois que j'envoie mes resultats dans un fichier texte !!
J'avoue ne pas comprendre le pourquoi de la difference alors que la manip est la mm mais executée de deux façons differentes ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
27 janv. 2012 à 15:29
27 janv. 2012 à 15:29
=> "ambiguous redirect" à chaque fois que j'envoie mes resultats dans un fichier texte
Comment t'y prends-tu ? Quelle commande emploies-tu ?
Est-ce que la partie "bash" s'exécute sans problème toute seule depuis un shell dans cygwin ?
Comment t'y prends-tu ? Quelle commande emploies-tu ?
Est-ce que la partie "bash" s'exécute sans problème toute seule depuis un shell dans cygwin ?
oui le script shell fonctionne en indépendant sous cygwin sans problème et mes redirections sont faites comme ci-dessous :
merci :)
find "$Data_Location" -name *_Data.txt -print >> $Data_Location/Input/$JMA/Files_Path_$JMA.txt echo $DateFile\;$Data\;$DataA\;$DataB\;$DataC\;$DataName | tr '.' ',' >> $Data_Location/Input/$JMA/DATA/Availability_$DataName.txt
merci :)
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
30 janv. 2012 à 14:53
30 janv. 2012 à 14:53
Rajoute une fonction de débogage à ton script (set -xv) et mets des accolades autour de tes variables :-\
$Data_Location => ${Data_Location}
Availability_$DataName.txt => Availability_${DataName.txt}
etc.
$Data_Location => ${Data_Location}
Availability_$DataName.txt => Availability_${DataName.txt}
etc.
27 janv. 2012 à 10:07
27 janv. 2012 à 13:56
27 janv. 2012 à 14:00