Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/12/2015, à 16: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 smile

Dernière modification par indie (Le 10/12/2015, à 11:39)

Hors ligne

#2 Le 03/12/2015, à 17: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...

Hors ligne

#3 Le 03/12/2015, à 17: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, à 17: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, à 17: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, à 17:46)

Hors ligne

#6 Le 04/12/2015, à 09: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, à 18: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, à 09: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.

Hors ligne

#9 Le 08/12/2015, à 13: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, à 14: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 !

Hors ligne