Forum Programmation.shell script: execution de commande par un logiciel

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
3
déc.
2015

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 :)

  • # Commentaire supprimé

    Posté par  . Évalué à 2.

    Ce commentaire a été supprimé par l’équipe de modération.

  • # re

    Posté par  . Évalué à 1.

    Ok, merci, c'est pas mal mais avec cette formulation mes commandes s'éxecutent et après le shell reprend automatiquement la main.

    Il faudrait que j'arrive à garder la main aussi sur mon logiciel, donc je peux peut etre faire ouvrir un deuxieme shell pour l'execution des commandes afin que le logiciel reste ouvert?!

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 1.

      Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Re: re

        Posté par  . Évalué à 1.

        Pour cette option, je ne vois pas trop ce que fait while read line??

        • [^] # Commentaire supprimé

          Posté par  . Évalué à 2.

          Ce commentaire a été supprimé par l’équipe de modération.

  • # sinon y'a expect

    Posté par  . Évalué à 6.

    #!/usr/bin/expect
    
    spawn evolver monfichier
    
    send "gogo\r"
    send "exit\r"
    
    expect EOF
    

    https://gist.github.com/Fluidbyte/6294378

    • [^] # Re: sinon y'a expect

      Posté par  . Évalué à 1. Dernière modification le 04 décembre 2015 à 12:15.

      Ok, on m'a déjà parlé de expect mais je n'ai jamais expérimenté, je vais tester, merci.

  • # je comprend mal, alors je reformule la question

    Posté par  . Évalué à 3.

    en gros tu veux scripter des commandes qui devront etre executer DANS le logiciel evolver ?

    il faut alors regarder les options de evolver, car c'est surement par là qu'il faut fouiller, si ca se trouve il y a une option qui permet de faire un truc simple comme ca :

    evolver --script monfichier-de-commande monfichier

    • [^] # Re: je comprend mal, alors je reformule la question

      Posté par  . Évalué à 1.

      Oui c'est exactement ca!
      Ok je vais regarder par là, je crois que l'option -f permet d'utiliser un script.

      Ensuite je souhaite que mon script lance evolver, puis fasse éxécuter des commandes à evolver,
      donc je n'aurais qu'à mettre une ligne du type:

      evolver -f commandes.txt fichier.fe

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.