Supposons le morceau de code bash suivant:
foo > logfile 2>&1 &
foo_pid=$!
while ps -p$foo_pid
do
ping -c 1 localhost
done
wait $foo_pid
if [[ $? == 0 ]]
then
echo "foo success"
fi
Est-il sûr de supposer qu'il $?
contient en effet le code retour de foo
et non le code retour de ping
? Si la réponse à cette question est: "Vous ne pouvez pas supposer cela." alors comment puis-je modifier ce morceau de code pour être sûr qu'il $?
contient toujours le code retour de foo
?
wait
ne fonctionne pas. Le processus est collecté et l'état de sortie supprimé juste avant que l'invite ne s'affiche (par défaut).