SSH + script local avec arguments

Fermé
Chouji - Modifié par Chouji le 30/06/2011 à 18:04
 Chouji - 1 juil. 2011 à 12:01
Bonjour,

Je souhaite générer un script local sur plusieurs serveurs avec SSH.
J'explique, j'ai un serveurA qui exécute un script sur serveurB et serveurB renvoie la résultat. Le script se trouve dans serveurA.

ex : 
ssh -l user 10.10.01.55 bash < /bla/bla/monscript 


Mais je n'arrive pas à ajouter des arguments pour mon script. Ce que je souhaite, c'est d'exécuter mon script avec quelques paramètres.

ex :  
ssh -l user 10.10.01.55 bash < /bla/bla/monscript arg1 arg2 


Quand j'essaye ça, il prend arg1 et arg2 pour des commandes ..

Si vous avez une solution, je suis preneur. =)

A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
30 juin 2011 à 17:53
Essayes ça :

ssh -l user 10.10.01.55 'bash -s' < /bla/bla/monscript arg1 arg2
2
ouii c'est ça !! Merci

Et tu connais l'équivalent de l'option 'bash -s' en perl !? (j'ai aussi des script perl ... =) )
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
1 juil. 2011 à 10:40
Il semblerait que ce soit la même d'après le man :

       -s   active une analyse rudimentaire des arguments sur la ligne
      de commande situés après le nom du programme mais avant tout nom de 
      fichier passé en argument (ou avant un --).
0
Je ne suis pas certain, quand j'essaye un simple usr/bin/perl -s /bla/bla/monscript.pl -w arg1 -c arg2 sur le serveur.
Mon script est exécuté sans argument.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
Modifié par zipe31 le 1/07/2011 à 11:38
Et via 'bash -s' ça ne le fait pas :

'bash -s' perl /bla/bla/monscript.pl -w arg1 -c arg2
0
J'ai plutôt essayé de cette façon :

bash -c '/usr/bin/perl' -s < /bla/bla/monscript.pl -w arg1 -c arg2


Et le script est toujours exécuter sans prises d'arguments.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
30 juin 2011 à 17:15
Salut,

Suffit de quoter le tout :

ssh -l user 10.10.01.55 'bash < /bla/bla/monscript arg1 arg2'

0
Merci de ta réponse immédiate, mais ça ne fonctionne pas ..

Il recherche le fichier sur le serveurB, or mon script se trouve sur serverA.
bash: /bla/bla/monscript: No such file or directory
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
30 juin 2011 à 17:42
Oups j'avais mal interprété tes dires ;-((

Désolé ;-\
0
no problem =)
0