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

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
asevere Messages postés 13521 Statut Webmaster 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
asevere Messages postés 13521 Statut Webmaster 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
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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