expect + tester valeur retour d'un script

expect + tester valeur retour d'un script - Shell/Batch - Programmation

Marsh Posté le 25-04-2007 à 10:58:06    

Bonjour a tous,
j'ai un script en expect sur un pc A qui va se connecter a distance sur un pc B .Il va ensuite lancer, sur le pc B, un script bash. J'aimerais que mon script expect test la valeur de retour du script bash distant. Voila la forme des 2 scripts:
 
script expect sur machine A:
ssh machine B
if (/root/Desktop/script_bash == 1) //test de la valeur de retour du script bash
echo "le script bash a retourné 1"
else
echo "le script bash a retourné 2"
 
script bash sur pc B:
if (condition 1)  
return 1
else if (condition 2)
return 2
 
evidement ca ne marche pas, mais c'est la forme de script que je recherche. Pourriez vous m'aider a recuperer la valeur de retour du script bash distant svp?  
merci d'avance :)

Reply

Marsh Posté le 25-04-2007 à 10:58:06   

Reply

Marsh Posté le 25-04-2007 à 14:05:44    

D'habitude, sous Unix, on se sert de $?, mais je ne sais pas si ça marche avec le ssh de bash.
Cela donnerait :

/root/Desktop/script_bash
if ($? == 1) //test de la valeur de retour du script bash  
   echo "le script bash a retourné 1"  
else  
   echo "le script bash a retourné 2"  
fi


Reply

Marsh Posté le 25-04-2007 à 14:13:55    

merci de ta réponse, et dans le script bash, le return 1 ca doit marcher ? car chez moi ca ne veut pas :( surement un probleme de syntaxe ?

Reply

Marsh Posté le 25-04-2007 à 14:16:12    

Peut-être qu'il faudrait des anti-apostrophes autour du nom du programme et de son chemin, parce que sinon, Unix peut penser qu'il teste le contenu d'une variable au lieu d'exécuter un programme.

Reply

Marsh Posté le 25-04-2007 à 14:40:59    

nan mais je veux dire, dans le script qui doit renvoyer les valeur 1 ou 2, le "return 1" ne marche pas :(

Reply

Marsh Posté le 25-04-2007 à 18:09:55    

Utiliser

exit 1
exit 2

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed