#!/bin/bash
function back()
{
sleep $1
exit $2
}
back $1 $2 &
b=$!
if `wait $!`;then
echo success
else
echo failure
fi
bash-3.00# ./back 300 0
failure
bash-3.00# ./back 300 1
failure
success
जब मैं 0 भेजता था, तो मुझे बाहर निकलने की स्थिति के रूप में उम्मीद थी , लेकिन मुझे अभी भी मिल रहा है failure
।
इसके अलावा, wait
300 सेकंड के लिए प्रतीक्षा नहीं करता है। इसके बजाय, मुझे तुरंत संदेश मिलता है। मुझे लगता $!
है कि $$
मेरी स्क्रिप्ट में तत्काल बच्चा है । है ना?
क्या प्रतीक्षा की निकास स्थिति पर कब्जा करना संभव है exit_status=$(wait $!)
?
if ! ((exit_status));then
echo sucess
else
failure
fi