[BASH] Récupérer le code de retour d'une commande a travers rsh ?

Récupérer le code de retour d'une commande a travers rsh ? [BASH] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 22-04-2004 à 12:06:59    

Voila mon problème :
 
Je passe une commande via rsh et j'aimerais avoir son code de retour. (le code de la commande, pas de rsh ;) ) C'est justement le problème
 


 
for SERVER in `cat liste`
do
    rsh $SERVER "/etc/rc.d/init.d/crond stop && /etc/rc.d/init.d/crond start"
    [ $? -eq 0 ] && echo "Restart crond OK sur $SERVER" || echo "Restart crond failed sur $SERVER"
done
 


 
==> avec cette syntaxe, le code de retour est TOUJOURS 0 ! Forcément puisque mon rsh s'est bien terminé... Moi j'aimerais connaitre le code d'erreur de la commande !
 

Reply

Marsh Posté le 22-04-2004 à 12:06:59   

Reply

Marsh Posté le 22-04-2004 à 12:17:41    

rsh $SERVER "commande > /dev/null 2>&1; echo $?"

Reply

Marsh Posté le 22-04-2004 à 14:54:18    

Le pbl c'est que dans ce cas tu récupère le code de retour de rsh lui même, pas celui du echo
 
même ça ne fonctionne pas :
 


rsh $SERVER "exit 1" ; echo $?
0


 
puisque rsh s'est exécuter correctement...Pourtant il me semblat que rsh sait retourner le code d'erreur de la commande passée :??:

Reply

Marsh Posté le 22-04-2004 à 14:58:14    

je plussoie [:aloy]
 
relis mon poste, et note l'emplacement du guillement fermant ;)
 
EDIT : fauet ed frapep


Message édité par bobuse le 22-04-2004 à 14:59:15
Reply

Marsh Posté le 22-04-2004 à 15:11:59    

:cry: pourquoi ça marche pas :cry:
 
Je comprends ta comande, bien sur je devrais avoir le résultat de "echo $?" en retour de rsh donc le code d'erreur, mais quand je teste :
 


[root@sion /tmp]# rsh spare1 "[ -e /tmp/toto ] > /dev/null 2>&1 ; echo $?"
0
[root@sion /tmp]#  
[root@sion /tmp]# rsh spare1 "[ -e /tmp/totoeqrgerg ] > /dev/null 2>&1 ; echo $?"
0
 


 
 
et sur spare1


[root@spare1a /tmp]# ll -tr *toto*
-rw-r--r--    1 root     root            0 avr 22 12:54 toto
 
[root@spare1a /tmp]# [ -e /tmp/toto ] ; echo $?
0
[root@spare1a /tmp]# [ -e /tmp/totqergqego ] ; echo $?
1


 
Pourquoi tant de haine !


Message édité par Phoenix le 22-04-2004 à 15:12:21
Reply

Marsh Posté le 22-04-2004 à 15:24:15    

c'est vrai que c'est bizarre :??:
 
auter solution, mets le tout dans un script sur la machine distante et fait rsh server "./script.sh" :/

Reply

Marsh Posté le 22-04-2004 à 15:28:59    

hé hé c'est que je cherche à éviter ;)
 
Je vais coiser avec d'autres machines, parceque la je vois pas pourquoi ça passe pas... c'est pas hyper logique !

Reply

Marsh Posté le 22-04-2004 à 16:17:34    

En principe (j'ai pas tester) ssh retourne le status de la commande distante.
 
A+  :hello:


---------------
Documentation sur le DNS, DHCP, Serveur SUS, Linux, Windows, etc... -> http://www.PtiNux.com
Reply

Sujets relatifs:

Leave a Replay

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