Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

exécuter un script à distance

13 réponses
Avatar
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/

10 réponses

1 2
Avatar
Stephane CHAZELAS
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
Avatar
Cyrille Lefevre
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.
Avatar
Thomas
In article ,
Cyrille Lefevre <cyrille.lefevre-news%
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/
Avatar
Vincent Lefevre
Dans l'article ,
Thomas écrit:

> > 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 - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
Avatar
Stephane CHAZELAS
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
Avatar
Olivier Miakinen
Le 21/09/2008 21:32, Vincent Lefevre répondait à Thomas :

Tu peux aussi lire les pages man...



;-)
Avatar
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.


--
+------
+----------> http://la.buvette.org/POV/stereo-2.html
+------/
Avatar
Nicolas S.
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.
Avatar
Thierry B.
--{ 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.
Avatar
Stephane CHAZELAS
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
1 2