Le $? vaut 0 après l'exécution du rsh. C'est normal la commande a bien
été transmise. Mais pour le code retour du false, je ne comprend pas.
Pourtant en local un "false ; echo $?" me retourne 1.
Le seule moyen que j'ai trouvé est de parser le code retour avec un
echo RC=n. Mais ça oblige à modifier tous les scripts utilisés par rsh.
Par exemple voici le script à exécuter à distance, par rsh :
Le $? vaut 0 après l'exécution du rsh. C'est normal la commande a bien été transmise. Mais pour le code retour du false, je ne comprend pas. Pourtant en local un "false ; echo $?" me retourne 1.
rsh serveur -l user "false ; echo $?"
ou c'est le $? du shell local qui serait substitué. Vaut généralement mieux utiliser des single quotes pour du code shell:
rsh serveur -l user 'false ; echo $?'
Le seule moyen que j'ai trouvé est de parser le code retour avec un echo RC=n. Mais ça oblige à modifier tous les scripts utilisés par rsh. [...]
N'existe-t-il pas une option dans rsh pour ecraser son code retour par celui de la commande exécutée à distance ?
Non, tu trouveras probablement plusieurs FAQ sur le sujet avec des solutions pour arriver à tes fins.
Tu peux utiliser le fait que rsh ouvre deux canaux en sortie (1 pour stdout, un pour stderr).
stderr alors est réservé à la transmission du code de retour. Par contre, les sortie standard et d'erreur de la commande sont mélangées. Tu peux mettre ça dans une fonction:
Le $? vaut 0 après l'exécution du rsh. C'est normal la commande a bien
été transmise. Mais pour le code retour du false, je ne comprend pas.
Pourtant en local un "false ; echo $?" me retourne 1.
rsh serveur -l user "false ; echo $?"
ou c'est le $? du shell local qui serait substitué. Vaut
généralement mieux utiliser des single quotes pour du code
shell:
rsh serveur -l user 'false ; echo $?'
Le seule moyen que j'ai trouvé est de parser le code retour avec un
echo RC=n. Mais ça oblige à modifier tous les scripts utilisés par rsh.
[...]
N'existe-t-il pas une option dans rsh pour ecraser son code retour par
celui de la commande exécutée à distance ?
Non, tu trouveras probablement plusieurs FAQ sur le sujet
avec des solutions pour arriver à tes fins.
Tu peux utiliser le fait que rsh ouvre deux canaux en sortie (1
pour stdout, un pour stderr).
stderr alors est réservé à la transmission du code de retour.
Par contre, les sortie standard et d'erreur de la commande sont
mélangées. Tu peux mettre ça dans une fonction:
Le $? vaut 0 après l'exécution du rsh. C'est normal la commande a bien été transmise. Mais pour le code retour du false, je ne comprend pas. Pourtant en local un "false ; echo $?" me retourne 1.
rsh serveur -l user "false ; echo $?"
ou c'est le $? du shell local qui serait substitué. Vaut généralement mieux utiliser des single quotes pour du code shell:
rsh serveur -l user 'false ; echo $?'
Le seule moyen que j'ai trouvé est de parser le code retour avec un echo RC=n. Mais ça oblige à modifier tous les scripts utilisés par rsh. [...]
N'existe-t-il pas une option dans rsh pour ecraser son code retour par celui de la commande exécutée à distance ?
Non, tu trouveras probablement plusieurs FAQ sur le sujet avec des solutions pour arriver à tes fins.
Tu peux utiliser le fait que rsh ouvre deux canaux en sortie (1 pour stdout, un pour stderr).
stderr alors est réservé à la transmission du code de retour. Par contre, les sortie standard et d'erreur de la commande sont mélangées. Tu peux mettre ça dans une fonction:
Le $? vaut 0 après l'exécution du rsh. C'est normal la commande a bien été transmise. Mais pour le code retour du false, je ne comprend pas. Pourtant en local un "false ; echo $?" me retourne 1.
rsh serveur -l user "false ; echo $?"
ou c'est le $? du shell local qui serait substitué. Vaut généralement mieux utiliser des single quotes pour du code shell:
rsh serveur -l user 'false ; echo $?'
Effectivement, c'est beaucoup mieux.
Le seule moyen que j'ai trouvé est de parser le code retour avec un echo RC=n. Mais ça oblige à modifier tous les scripts utilisés par rsh.
[...]
N'existe-t-il pas une option dans rsh pour ecraser son code retour par celui de la commande exécutée à distance ?
Non, tu trouveras probablement plusieurs FAQ sur le sujet avec des solutions pour arriver à tes fins.
OK, je lance mes recherches.
Tu peux utiliser le fait que rsh ouvre deux canaux en sortie (1 pour stdout, un pour stderr).
stderr alors est réservé à la transmission du code de retour. Par contre, les sortie standard et d'erreur de la commande sont mélangées. Tu peux mettre ça dans une fonction:
Le $? vaut 0 après l'exécution du rsh. C'est normal la commande a bien
été transmise. Mais pour le code retour du false, je ne comprend pas.
Pourtant en local un "false ; echo $?" me retourne 1.
rsh serveur -l user "false ; echo $?"
ou c'est le $? du shell local qui serait substitué. Vaut
généralement mieux utiliser des single quotes pour du code
shell:
rsh serveur -l user 'false ; echo $?'
Effectivement, c'est beaucoup mieux.
Le seule moyen que j'ai trouvé est de parser le code retour avec un
echo RC=n. Mais ça oblige à modifier tous les scripts utilisés par rsh.
[...]
N'existe-t-il pas une option dans rsh pour ecraser son code retour par
celui de la commande exécutée à distance ?
Non, tu trouveras probablement plusieurs FAQ sur le sujet
avec des solutions pour arriver à tes fins.
OK, je lance mes recherches.
Tu peux utiliser le fait que rsh ouvre deux canaux en sortie (1
pour stdout, un pour stderr).
stderr alors est réservé à la transmission du code de retour.
Par contre, les sortie standard et d'erreur de la commande sont
mélangées. Tu peux mettre ça dans une fonction:
Le $? vaut 0 après l'exécution du rsh. C'est normal la commande a bien été transmise. Mais pour le code retour du false, je ne comprend pas. Pourtant en local un "false ; echo $?" me retourne 1.
rsh serveur -l user "false ; echo $?"
ou c'est le $? du shell local qui serait substitué. Vaut généralement mieux utiliser des single quotes pour du code shell:
rsh serveur -l user 'false ; echo $?'
Effectivement, c'est beaucoup mieux.
Le seule moyen que j'ai trouvé est de parser le code retour avec un echo RC=n. Mais ça oblige à modifier tous les scripts utilisés par rsh.
[...]
N'existe-t-il pas une option dans rsh pour ecraser son code retour par celui de la commande exécutée à distance ?
Non, tu trouveras probablement plusieurs FAQ sur le sujet avec des solutions pour arriver à tes fins.
OK, je lance mes recherches.
Tu peux utiliser le fait que rsh ouvre deux canaux en sortie (1 pour stdout, un pour stderr).
stderr alors est réservé à la transmission du code de retour. Par contre, les sortie standard et d'erreur de la commande sont mélangées. Tu peux mettre ça dans une fonction: