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

Script pour executer des commandes en ligne sur serveurs distants

4 réponses
Avatar
Steve
Bonjour,

Je recherche un moyen d'executer des commandes sur machine distante.

Ex : je veux lister un repertoire sur un serveur distant, via un script

#!/bin/bash
#
ssh -l root serveur.distant

.. et sur le serveur distant ....

ls -l
....
....

Le probleme est que si je vais cela, je liste sur MON pc et pas sur le
serveur distant.

- Comment faire ?
- Y a t il un moyen de le faire ?

Merci

4 réponses

Avatar
Luc.Habert.00__arjf
Steve :

#!/bin/bash
#
ssh -l root serveur.distant

.. et sur le serveur distant ....

ls -l




ssh -l root serveurdistant 'ls -l'

i.e. tu passes la commande à exécuter en argument à ssh.
Avatar
Steve
Luc Habert wrote:

Steve :

#!/bin/bash
#
ssh -l root serveur.distant

.. et sur le serveur distant ....

ls -l




ssh -l root serveurdistant 'ls -l'

i.e. tu passes la commande à exécuter en argument à ssh.



Merci pour les infos,
Une autre question.

Je viens d'essayé :

#!/bin/bash
#
commande line 1
commande line 2

Mais je dois m'assurer que la commande "1" soit terminée AVANT de commancé
la commande "2"

y a t il une astuce ? ( Apparemment, il commance l'instruction 2 avant
d'avoir terminé la "1" )

Merci
Avatar
Luc.Habert.00__arjf
Steve :

#!/bin/bash
#
commande line 1
commande line 2

Mais je dois m'assurer que la commande "1" soit terminée AVANT de commancé
la commande "2"

y a t il une astuce ? ( Apparemment, il commance l'instruction 2 avant
d'avoir terminé la "1" )



Seulement si tu mets un & au bout de la ligne, ou si la première commande
lance un fils en arrière plan puis se termine. Dans le second cas, il faut
voir au cas par cas ce que fait cette commande.
Avatar
Steve
Luc Habert wrote:

Steve :

#!/bin/bash
#
commande line 1
commande line 2

Mais je dois m'assurer que la commande "1" soit terminée AVANT de
commancé la commande "2"

y a t il une astuce ? ( Apparemment, il commance l'instruction 2 avant
d'avoir terminé la "1" )



Seulement si tu mets un & au bout de la ligne, ou si la première commande
lance un fils en arrière plan puis se termine. Dans le second cas, il faut
voir au cas par cas ce que fait cette commande.




Merci.
J'ai résolu le probleme avec un " sleep 5 ".... tout bêtement
Je n'avais pas le '&' à la fin de mes instructions..

Merci encore