Bonjour,
Après plusieurs heures à suer à résoudre ce soucis, je n'ai trouvé aucune solution correcte. Je n'aime pas déclarer forfait, mais ça n'est pas loin.
mon problème est le suivant:
j'ai un script (en perl) sur un serveur linux, et je dois l'appeler depuis windows via un autre script (en batch celui ci). Pourquoi et comment c'est de perl et du batch, c’est ainsi, et ça ne changera pas (raisons compatibilité, et portabilité).
Donc la pour le moment c'est assez simple, plink appelé par le script en batch avec l'option -batch et -ssh. Jusque la tout va bien. la commande a appeler est:
dans le batch ça donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part /path/script.pl option '(["42","dutexte"])'
la tout marche, je suis content.
Code : Sélectionner tout - Visualiser dans une fenêtre à part plink -ssh -pw %pwd% %usr%@%host% -batch (/path/script.pl option '([\"42\",\"dutexte\"])')
Option, 42 et dutexte sont des variables bien sur donc à remplacer par %var1%, %var2, %var3%. Je ne l'ai pas mis par soucis de lisibilité.
Sauf que avec plink, en appelant comme ça, le $PATH de Linux n'est pas chargé correctement, me forçant a ajouter a la commande "bash -l -c" (le -l permet de charger /etc/profile et le .profile pour l'utilisateur). et la patatraque, pas moyen de trouver comment faire fonctionner le tout.
Si quelqu'un a une idée de comment tourner
Je ne trouve pas les bon caractères à échapper, et je n'ai pas trouvé de solution alternative a plink.
Si une âme charitable aurait une piste, ce serait super.
La solution, ce serait même parfait.
Merci
edit, pour plus de clareté, cela équivaut a faire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part bash -c bash -l -c macommande
Partager