[ssh sous linux] éxecuter ssh avec variable
Résolu/Fermé
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
-
11 mars 2010 à 12:04
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 - 11 mars 2010 à 16:02
dubcek Messages postés 18764 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 février 2025 - 11 mars 2010 à 16:02
A voir également:
- [ssh sous linux] éxecuter ssh avec variable
- Ssh download - Télécharger - Divers Web & Internet
- Diskinternals linux reader - Télécharger - Stockage
- Linux mint 32 bits - Télécharger - Systèmes d'exploitation
- Linux live usb creator - Télécharger - Outils Internet
- Backtrack linux - Télécharger - Sécurité
5 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
Modifié par jipicy le 11/03/2010 à 12:54
Modifié par jipicy le 11/03/2010 à 12:54
Salut,
distant2="\""
C'est quoi ça ??? Une double quote ?
$ man woman
Il n'y a pas de page de manuel pour woman.
distant2="\""
C'est quoi ça ??? Une double quote ?
$ man woman
Il n'y a pas de page de manuel pour woman.
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
1
11 mars 2010 à 13:35
11 mars 2010 à 13:35
Hello jipicy,
Oui, pour terminer mon ssh. je suis obligé de la variabiliser cette double cote sinon, si je lance la commande sur mon serveur local, donc sans le ssh, il se retrouverait avec une " orpheline à la fin de cette commande.
J'ai continué un peu mes tests entre temps et en faisant un simple ls sans option:
${distant1} ls ${distant2}
ca passe !
C'est donc le tiret avec les options derrières qu'il n'aime pas.
J'ai essayé ${distant1} ls \-rtl ${distant2}, soit avec un anti-slash avant le tiret mais le résultat est le meme :
bash: ls -rtl: command not found
Le problème c'est que les commandes que je dois lancer en contiennent tout plein...
Je sèche...
Oui, pour terminer mon ssh. je suis obligé de la variabiliser cette double cote sinon, si je lance la commande sur mon serveur local, donc sans le ssh, il se retrouverait avec une " orpheline à la fin de cette commande.
J'ai continué un peu mes tests entre temps et en faisant un simple ls sans option:
${distant1} ls ${distant2}
ca passe !
C'est donc le tiret avec les options derrières qu'il n'aime pas.
J'ai essayé ${distant1} ls \-rtl ${distant2}, soit avec un anti-slash avant le tiret mais le résultat est le meme :
bash: ls -rtl: command not found
Le problème c'est que les commandes que je dois lancer en contiennent tout plein...
Je sèche...
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
Modifié par jipicy le 11/03/2010 à 13:45
Modifié par jipicy le 11/03/2010 à 13:45
C'est un peu tarabiscoté ces histoires de quotes ;-((
Tu peux essayer ça s'il te plait :
Tu peux essayer ça s'il te plait :
distant1="ssh ${lib_ens2}-bkp" ${distant1} 'ls -rtl'
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
1
11 mars 2010 à 14:02
11 mars 2010 à 14:02
Ca passe !!!!
Effectivement je me compliquais un peu la vie...
En fait le ${distant1} 'ls -rtl' passe très bien mais les veritables commandes elles ne me ramenaient rien (sans générer une erreur non plus).
Mais en faisant un ${distant1} "commande" (donc une double cote au lieu d'une simple), là plus aucun problème !
Merci pour tout Jipicy !
Effectivement je me compliquais un peu la vie...
En fait le ${distant1} 'ls -rtl' passe très bien mais les veritables commandes elles ne me ramenaient rien (sans générer une erreur non plus).
Mais en faisant un ${distant1} "commande" (donc une double cote au lieu d'une simple), là plus aucun problème !
Merci pour tout Jipicy !
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
1
11 mars 2010 à 14:20
11 mars 2010 à 14:20
En fait non, j'ai été un peu trop optimiste...
Ca passe bien sur serveur distant mais du coup c'est en local que ca ne passe plus...
distant1=""
${distant1} 'ls -rtl'
-bash: ls -rtl: command not found
:`-(
Bon tant pis ce n'est pas bien grave, je vais juste tester avant sur quel serveur je lance ma commande et créer le double de la commande, avec un ssh avant ou non.
En tout cas encore merci, c'est sympa d'avoir répondu :-)
Ca passe bien sur serveur distant mais du coup c'est en local que ca ne passe plus...
distant1=""
${distant1} 'ls -rtl'
-bash: ls -rtl: command not found
:`-(
Bon tant pis ce n'est pas bien grave, je vais juste tester avant sur quel serveur je lance ma commande et créer le double de la commande, avec un ssh avant ou non.
En tout cas encore merci, c'est sympa d'avoir répondu :-)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
11 mars 2010 à 15:35
11 mars 2010 à 15:35
Là pour le coup c'est les quotes simples qui fichent la pagaille ;-((
Enlèves-les tout simplement, et en local et en distant...
Enlèves-les tout simplement, et en local et en distant...
marco.marco
Messages postés
29
Date d'inscription
mardi 1 juillet 2008
Statut
Membre
Dernière intervention
29 novembre 2013
1
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
11 mars 2010 à 15:58
11 mars 2010 à 15:58
Ca maaaaaaaaaaaaaaaaaaaaarche !!!!!!!!!!!!!!!!!!
:-)))))))))
Et moi qui pensais qu'un ssh devait obligatoirement être "entrecoté"...
Merci Jipicy !
:-)))))))))
Et moi qui pensais qu'un ssh devait obligatoirement être "entrecoté"...
Merci Jipicy !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18764
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
9 février 2025
5 624
11 mars 2010 à 16:02
11 mars 2010 à 16:02
ou définir distant1="eval" : $distant1 'ls -l' ou $distant1 "ls -l" fonctionnent
$ cd /etc $ distant1="eval" $ distant1 'ls -l' | head -3 total 1528 drwxr-xr-x 8 root root 4096 2009-05-08 08:51 acpi -rw-r--r-- 1 root root 2986 2009-04-20 16:28 adduser.conf $ $ distant1 "ls -l" | head -3 total 1528 drwxr-xr-x 8 root root 4096 2009-05-08 08:51 acpi -rw-r--r-- 1 root root 2986 2009-04-20 16:28 adduser.conf $