Tout ceci est très pertinent, mais m'amène à penser la chose suivante :
plutôt que d'utiliser des fichiers temporaires, pourquoi ne pas utiliser la commande export pour positionner les variables de code de retour une bonne fois pour toutes ?
Ce qui reviendrait à :
{ commande1 > fichier1 && export CODE1 = $? } &
{ commande2 > fichier2 && export CODE2 = $? } &
{ commande3 > fichier3 && export CODE3 = $? } &
wait
echo La commande1 a eu pour code de retour $CODE1
echo La commande2 a eu pour code de retour $CODE2
echo La commande3 a eu pour code de retour $CODE3
Si jamais on veut faire propre, il suffit de faire quelques appels bien sentis avant de quitter le shell pour virer les variables indésirables :
export CODE1= CODE2= CODE3=
Je ne dispose pas de ksh pour tester, alors je vous laisse tester le tout pour voir ce que ça donne.
[^] # Re: ... malheureusement
Posté par Gyro Gearllose . En réponse au message Execution background et code de sortie. Évalué à 1.
plutôt que d'utiliser des fichiers temporaires, pourquoi ne pas utiliser la commande export pour positionner les variables de code de retour une bonne fois pour toutes ?
Ce qui reviendrait à :
{ commande1 > fichier1 && export CODE1 = $? } &
{ commande2 > fichier2 && export CODE2 = $? } &
{ commande3 > fichier3 && export CODE3 = $? } &
wait
echo La commande1 a eu pour code de retour $CODE1
echo La commande2 a eu pour code de retour $CODE2
echo La commande3 a eu pour code de retour $CODE3
Si jamais on veut faire propre, il suffit de faire quelques appels bien sentis avant de quitter le shell pour virer les variables indésirables :
export CODE1= CODE2= CODE3=
Je ne dispose pas de ksh pour tester, alors je vous laisse tester le tout pour voir ce que ça donne.