#1 Le 03/12/2015, à 15:59
- indie
[Résolu] script: execution de commande par un logiciel
Bonjour,
je souhaite écrire un script qui lance un logiciel, puis fait executer des commandes à mon logiciel, typiquement
evolver monfichier (mon logiciel)
gogo (la commande du logiciel)
mais je n'arrive pas à trouver la formulation en langage shell, car mon logiciel est lancé et ensuite je dois taper moi meme mes commandes.
Pouvez vous m'aider?
Merci
Dernière modification par indie (Le 10/12/2015, à 10:39)
Hors ligne
#2 Le 03/12/2015, à 16:08
- tiramiseb
Re : [Résolu] script: execution de commande par un logiciel
Salut,
Ce n'est pas possible aussi simplement que tu l'imagines.
Si le logiciel en question est en ligne de commande, tu peux utiliser expect...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 03/12/2015, à 16:17
- indie
Re : [Résolu] script: execution de commande par un logiciel
Haaa, autant pour moi je ne pensais pas.
Oui, le logiciel est en ligne de commande, et il redonne la main justement.
Hors ligne
#4 Le 03/12/2015, à 16:42
- indie
Re : [Résolu] script: execution de commande par un logiciel
Sinon j'ai essayé l'alternative
evolver fichier.fe < commandes.txt
mais j'ai plusieurs fichiers .fe à ouvrir donc plusieurs fichiers commandes.txt avec 1 ou 2 lignes à l'intérieur.
Y a t-il moyen de simplifier cela?
Hors ligne
#5 Le 03/12/2015, à 16:44
- tiramiseb
Re : [Résolu] script: execution de commande par un logiciel
Y a t-il moyen de simplifier cela?
Le seul moyen propre que je connaisse est expect.
Je l'ai déjà indiqué.
Ou alors peut-être :
echo "commande1
commande2" | evolver fichier.fe
Dernière modification par tiramiseb (Le 03/12/2015, à 16:46)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#6 Le 04/12/2015, à 08:39
- credenhill
Re : [Résolu] script: execution de commande par un logiciel
hello
montre l'ensemble des commandes qui doivent être exécutées
Hors ligne
#7 Le 07/12/2015, à 17:43
- indie
Re : [Résolu] script: execution de commande par un logiciel
Bonjour et merci pour votre aide!
Je veux ouvrir un fichier evolver: evolver fichier.fe
puis lancer des commandes (evolver est un logiciel libre en ligne de commandes), par exemple:
- gogo
- refine
poser une question à l'utilisateur pour attribuer une valeur aux paramètres:
echo "Quelle valeur?"
read MACONSTANTE
Sans quitter evolver je veux executer:
- cst := MACONSTANTE
- macommande
Ainsi ici j'ai créé un deuxième fichier evolver resultat.fe, que je veux ouvrir et y executer des commandes.
Donc je dois continuer à faire tourner mon script (pas de redirection avec eof qui couperait court au script).
Je peux utiliser l'alternative de redirection via un fichier texte:
evolver resultat.fe < commandes.txt
mais je souhaite écrire mes commandes dans le script pour éviter d'avoir encore un fichier supplémentaire.
Pouvez vous m'aider?
Hors ligne
#8 Le 08/12/2015, à 08:07
- tiramiseb
Re : [Résolu] script: execution de commande par un logiciel
mais je souhaite écrire mes commandes dans le script pour éviter d'avoir encore un fichier supplémentaire.
Pouvez vous m'aider?
Je t'ai déjà donné deux suggestions pour ça, en #2 et en #5.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#9 Le 08/12/2015, à 12:32
- indie
Re : [Résolu] script: execution de commande par un logiciel
Ok pour le #2 c'est un peu problématique car j'ai besoin d'utiliser des commandes shell également, et pas seulement expect.
Pour le #5, comme j'ai besoin d'enchainer plusieurs commandes je ne sais pas si cela convient.
Par contre j'ai réussi à faire ce que je voulais grace à
evolver fichier.fe <<< EOF
commande1
commande2
commande3
EOF
Et voilà!
Hors ligne
#10 Le 08/12/2015, à 13:26
- tiramiseb
Re : [Résolu] script: execution de commande par un logiciel
j'ai besoin d'utiliser des commandes shell également, et pas seulement expect.
Mon idée n'était pas de remplacer ton script shell mais qu'il appelle lui-même expect.
---
Attention avec la syntaxe « <<< », je crois que c'est spécifique à bash, mets bien un appel à bash dans ton shebang et non à sh !
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne