Lancer une application dans un autre shell

ben -  
 ben -
Bonjour,

Je dois ecrire un script shell qui utilise le résultat d'un programme (en java) qui doit être lancé sur un serveur.

Pour cela je me connecte automatiquement avec ssh au serveur dans mon script (aprés avoir lancé ssh-agent)

Mais comment puis-je faire pour lancer ce programme qui se trouve sur le serveur avec des arguments que je lui donne et récupérer le resultat dans mon script sur le client.

En d'autres termes je n'arrive pas à lancer une commande dans la nouvelles session que j'ai ouverte à distance sur ce servuer.

Merci d'avance

5 réponses

  1. ben
     
    Quelques precisions :

    J'ai trouvé des éléments de réponses là : http://linuxfr.org/forums/26/4127.html

    En fait mon probléme et que je dois lancer ce prog en java sur le serveur car java n'est pas installé sur le client.

    dans mon script j'ai essyé :

    ssh test@*.*.*.* `java -jar prog.jar <arg>`

    mais il me retourne :

    ./nomduscript: java: command not found
    et me laisse logué sur le serveur en tant que test???

    Comment faire?
    0
    1. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
       
      Arf,
      Donnes le chemin complet du programme java a executer, il ne doit pas se trouver dans le repertoire de l'utilisateur test. ;-)

      ++
      ...Mana mana
         Tutudutu...
      0
  2. asevere Messages postés 13095 Date d'inscription   Statut Webmaster Dernière intervention   426
     
    Bonjour,

    Un debut de réponse ici:
    http://www.commentcamarche.net/forum/affich-1069077
    ssh serveur "commande1" | commande2
    ssh serveur "commande1" > resultats
    Dans les deux cas, commande1 s'execute sur le serveur.
    Dans le premier le resultat est redirigé vers le client et traité par commande2 localement, dans le second, le resultat et simplement enregistré dans le fichier resultat sur le client :)

    @++
    ...Mana mana
       Tutudutu...
    0
  3. ben
     
    Avant tout : merci beaucoup pour vos réponses si rapides!
    (à ce rythme ce n'est plus un forum c'est une hotline!)

    Cependant bien que je lui spécifie le chemin exact cela ne marche toujours pas : il ne reconnait pas la commande java

    ssh test@*.*.*.* `/usr/local/java/bin/java -jar /home/test/prog.jar 01`

    Pourtant quand je lance sur le serveur :
    /usr/local/java/bin/java -jar /home/test/prog.jar 01
    ça marche donc les chemins sont bons??

    Ceci dit cela marche trés bien avec un ls par exemple.
    0
  4. ben
     
    Ca y est j'ai trouvé!

    Attention c'est trés con :

    Il suffit de remplacer les backquote ` par des apostrophes ' dans

    ssh test@*.*.*.* `/usr/local/java/bin/java -jar /home/test/prog.jar 01`

    et tout s'arrange!

    c'est formidable!
    merci pour votre aide.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ben
     
    ça marche encore mieux avec "

    j'avais pas fais attention dans le message de asevere
    Comme quoi suffit de bien lire les reponses!

    merci encore
    0