lancer un programme automatiquement - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 05-12-2013 à 17:30:46
Bonjour, perso je ferais deux script dans n'importe lequel des langages de scipt.
Un pour extraire les nouvelle donnée, et un pour lancer le programme avec les dites donnée.
Et j'appellerais commande_1 avec un pipe pour donner les données à commande_2 dans une boucle principale qui tournerait tand que le fichier de donnée n'est pas lu dans sa totalité.
Après pour les détail, man bash ou csh ou autre.
Marsh Posté le 05-12-2013 à 17:39:11
Bon, j'ai peut-être bien dit des bétise.
D'abord je ne connais pas la différence entre un pipe et une redirection.
En suite je ne suis pas certain que la commande_2 sera lancer tant que la commande_1 ne sera pas terminé.
Marsh Posté le 05-12-2013 à 21:47:19
Pour ma part (en espérant avoir tout bien compris ), je ferais un fichier type csv avec les différentes valeurs, et exécuterais la commande ms au fur et a mesure du parsing du fichier. En gros :
csv :
Code :
|
Et ensuite un simple script shell (bash, ksh ou autre). Ici en ksh, non testé :
Code :
|
Marsh Posté le 06-12-2013 à 11:05:23
Merci pour vos reponse.
nukolau, j'ai fait les deux fichiers comme montrer. J'ai ensuite rendu le fichier bash executable:
1. chmod +x ./Script.sh
Puis j'ai lancer le script:
1. ./Script.sh
mais j'ai un message d'erreur:
1. line 5: syntax error near unexpected taken 'done'
J'ai essaye plusieurs choses mais j'ai toujours le meme message.
Quelqu'un sait-il quelle est l'erreur?
Merci.
Marsh Posté le 06-12-2013 à 12:29:45
cmyriam a écrit : Merci pour vos reponse. |
La ligne 5 de ton « Script.sh » ne lui plait pas.
C’est écrit dans le message d’erreur.
Marsh Posté le 06-12-2013 à 14:43:15
Attention comme dit, le petit script que j'ai indiqué est fait en KSH. Je ne connais pas bien le bash, peut-être que l'IFS n'est pas utilisable directement comme ça ou que le read ne fait pas tout a fait pareil. (je n'utilise pas le bash justement parce qu'il a encore beaucoup de retard par rapport au ksh).
Il faudrait aussi s'assurer qu'il ne manque pas une { ou une } autour des variables, ce genre de chose.
Pense également a mettre un shebang
Marsh Posté le 06-12-2013 à 15:23:43
Alors, j'ai rajouter le shebang et normalement, le IFS devrait marcher en bash. Apres j'ai aussi essaye pour ksh et j'obtiens le meme message d'erreur.
J'ai reverifie le script et tt me semble correct. Je ne vois vraiment pas d'ou vient le probleme.
Marsh Posté le 06-12-2013 à 16:53:51
Bon j'ai resolu tout les probleme qui finallement n'etait pas si enorme, juste des erreurs de frappe ou de format.
En tout cas merci pour le script. Et finalement il marche aussi en bash.
Par contre j'aurais une derniere question, le script marche mais j'obtiens un seul fichier de resultats avec les resultats des 3 simulations.
Dans mon cas je voudrais 3 fichiers differents, 1 pour chaque simulation. Comment puis-je faire?
Merci
Marsh Posté le 06-12-2013 à 16:55:34
Je viens de tester, avec un echo "./ms" a la place de la vraie commande et chez moi ca fonctionne. Voici le résultat que ca m'a donné :
Code :
|
Lors des copier/coller tu n'aurais pas mis un caractère invisible, ou un retour à la ligne indésirable ?
script utilisé pour mon test :
Code :
|
Arf, j'avais pas vu la réponse dans l'intervalle
Pour les résultats dans des fichiers différents, il faut variabiliser le nom du fichier csv de sortie. Par exemple a l'aide d'un compteur, ou de la date, ou autre, quitte à ajouter une entrée supplémentaire dans le csv de départ.
Code :
|
Marsh Posté le 09-12-2013 à 10:32:44
Merci beaucoup pour l'aide.
Le script marche parfaitement maintenant.
Marsh Posté le 05-12-2013 à 16:13:09
Bonjour,
je travail sous linux et plus particulierement avec un logiciel appele ms qui permet de simuler des milliers de donnee biologique. Meme si vous ne le connaissez pas, je pense que vous pouvez quand meme m'aider avec mon pb.
Voila dans mon shell, je rentre cette commande pour lancer une simulation:
Avec ./statsMS_2pop 23 8 3 qui est un script qui me permet de calculer des stats a partir des donnees obrenu grace a la simulation.
Mon probleme est que je voudrais relancer a la fin de chaque simulation une autre automatiquement tout en changeant certaines donnees. Je veux changer a chaque fois des valeurs (celle entre "" ) de "68", -t "45.95", -I 3 "23 8 37", -r "300" 2000.
Voila le script que j'ai ecrit:
Helas il ne fonctionne pas, de plus n'y aurait-il pas un moyen plus facile de faire ca comme peut etre recuperer les valeurs a partir d'un autre fichier.
Enfin derniere question, devrais-je faire le fichier en bash?
Merci par avance pour l'aide,
Myriam