exécuter un script à distance

Le
Thomas
bonjour :-)


je souhaite exécuter un script sur un ordi distant

je n'ai pas suffisamment confiance en l'ordi distant pour mettre le
script là bas une fois pour toutes, puis l'exécuter en une commande ssh
sans vérifier son intégrité


ce que j'aimerais faire, c'est :

avoir le script sur mon ordi,
et demander à ssh quand je l'exécute, de prendre le script sur mon ordi
et de l'exécuter sur l'ordi distant

est ce que c'est possible, ça ?


(pour l'instant j'ai un script chez moi avec ssh à chaque ligne, ça me
parait pas le meilleur choix)

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Stephane CHAZELAS
Le #17283821
2008-09-20, 15:42(+02), Thomas:
[...]
avoir le script sur mon ordi,
et demander à ssh quand je l'exécute, de prendre le script sur mon ordi
et de l'exécuter sur l'ordi distant

est ce que c'est possible, ça ?


[...]

ssh ordi-distant < script-local


--
Stéphane
Cyrille Lefevre
Le #17287261
Stephane CHAZELAS a écrit :
2008-09-20, 15:42(+02), Thomas:
[...]
avoir le script sur mon ordi,
et demander à ssh quand je l'exécute, de prendre le script sur mon ordi
et de l'exécuter sur l'ordi distant

est ce que c'est possible, ça ?


[...]

ssh ordi-distant < script-local



Bonjour,

j'aurais plutot mis : ssh ordi-distant sh < script-local

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Thomas
Le #17289931
In article Cyrille Lefevre wrote:

Stephane CHAZELAS a écrit :
> 2008-09-20, 15:42(+02), Thomas:
> [...]
>> avoir le script sur mon ordi,
>> et demander à ssh quand je l'exécute, de prendre le script sur mon ordi
>> et de l'exécuter sur l'ordi distant
>>
>> est ce que c'est possible, ça ?
> [...]
>
> ssh ordi-distant < script-local



merci :-)

par contre, le shell distant va être "en mode interactif" et va croire
que le contenu de script-local est tapé au clavier, c'est bien ça ?

est ce que je peux (continuer à) écrire script-local comme si il allait
être exécuté en tant que script ? ça ne risque pas de poser de pb ?

par exemple, tous mes scripts commencent par
#!/bin/sh -x -
qu'est ce que ça fait ?


Bonjour,

j'aurais plutot mis : ssh ordi-distant sh < script-local



merci, qu'est ce que ça fait exactement ?

- est ce que c'est juste au cas où le shell de login ne serais pas sh ?

- est ce que c'est pour que ssh soit exécuté sous la forme
ssh commande
?
mais dans ce cas là, le 1er sh ne va pas être interactif mais le 2eme
si, non ?

--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
Vincent Lefevre
Le #17293851
Dans l'article Thomas
> > ssh ordi-distant < script-local



par contre, le shell distant va être "en mode interactif" et va croire
que le contenu de script-local est tapé au clavier, c'est bien ça ?



Normalement, non. Le shell distant va exécuter le script (le #! n'est
probablement pas pris en compte et est juste vu comme un commentaire:
c'est un peu l'équivalent d'un "source", mais à vérifier). Un conseil:
fais des essais avec des scripts simples.

Tu peux aussi lire les pages man...

--
Vincent Lefèvre 100% accessible validated (X)HTML - Blog: Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
Stephane CHAZELAS
Le #17294281
2008-09-21, 14:00(+02), Thomas:
[...]
> ssh ordi-distant < script-local




[...]
par contre, le shell distant va être "en mode interactif" et va croire
que le contenu de script-local est tapé au clavier, c'est bien ça ?



Non, comme le stdin de ssh n'est pas un terminal, ssh ne lance
pas un shell interactif a l'autre bout.

C'est comme si tu faisais:

"$SHELL" < script-local

est ce que je peux (continuer à) écrire script-local comme si il allait
être exécuté en tant que script ? ça ne risque pas de poser de pb ?



Non, a part que si ton script lit son entree standard, ca va
lire le contenu du script!

par exemple, tous mes scripts commencent par
#!/bin/sh -x -
qu'est ce que ça fait ?



C'est un commentaire pour le shell, donc ca ne fait rien. Cette
ligne (non standard) ne sert que quand tu veux executer le
script sans fournir le nom de l'interpreteur, auquel cas le
systeme (pas le shell) lit cette ligne pour savoir quel
interpreteur utilier.

Si tu veux activer l'option x quelle que soit la facon dont le
script est lancé, utilise plutot "set -x".

j'aurais plutot mis : ssh ordi-distant sh < script-local



merci, qu'est ce que ça fait exactement ?

- est ce que c'est juste au cas où le shell de login ne serais pas sh ?


[...]

Oui.

--
Stéphane
Olivier Miakinen
Le #17298431
Le 21/09/2008 21:32, Vincent Lefevre répondait à Thomas :

Tu peux aussi lire les pages man...



;-)
Thierry B.
Le #17306871
--{ Stephane CHAZELAS a plopé ceci: }--

#!/bin/sh -x -



C'est un commentaire pour le shell, donc ca ne fait rien. Cette
ligne (non standard) ne sert que quand tu veux executer le



Euh, le shebang, c'est quand même assez canonique, à défaut
d'être purement "standard"... Je ne connais pas un seul
noyau Unix qui ne le comprenne pas.


--
+------
+----------> http://la.buvette.org/POV/stereo-2.html
+------/
Nicolas S.
Le #17308881
Stephane CHAZELAS a écrit:

> par exemple, tous mes scripts commencent par
> #!/bin/sh -x -
> qu'est ce que ça fait ?

C'est un commentaire pour le shell, donc ca ne fait rien.



Quel programme interprète le shebang ?

--
Nicolas S.
Thierry B.
Le #17309221
--{ Nicolas S. a plopé ceci: }--

> par exemple, tous mes scripts commencent par
> #!/bin/sh -x -
> qu'est ce que ça fait ?

C'est un commentaire pour le shell, donc ca ne fait rien.



Quel programme interprète le shebang ?



La kernelle, dans l'appel système execve (ou assimilé).


--
Euh, juste par pure curiosité technique. Comment est défini le barycentre
sur une variété qui n'est pas globalement difféomorphe à une boule ?


À tes souhaits.


-+- JS in GFA -+- Bien configurer sa curiosite technique.
Stephane CHAZELAS
Le #17316891
2008-09-22, 21:41(+02), Thierry B.:
--{ Stephane CHAZELAS a plopé ceci: }--

#!/bin/sh -x -



C'est un commentaire pour le shell, donc ca ne fait rien. Cette
ligne (non standard) ne sert que quand tu veux executer le



Euh, le shebang, c'est quand même assez canonique, à défaut
d'être purement "standard"... Je ne connais pas un seul
noyau Unix qui ne le comprenne pas.


[...]

Mais ils le comprennent differement.

Typiquement, #! /bin/sh -x -
marchera sous peu d'Unix (FreeBSD, et?).

Sous Linux, "-x -" sera pris comme un seul argument, sous
d'autres, "-" sera ignoré... Et rien ne guarantit que le sh
standard soit dans /bin (par exemple, sous Solaris, il est dans
/usr/xpg4/bin ou /usr/xpg6/bin).

Voir http://www.in-ulm.de/~mascheck/various/shebang/
pour plus d'info.

--
Stéphane
Publicité
Poster une réponse
Anonyme