আমি একটি স্ক্রিপ্ট তৈরি করার চেষ্টা করছি যা অনেক ব্যাকগ্রাউন্ড কমান্ড শুরু করবে। প্রতিটি ব্যাকগ্রাউন্ড কমান্ডের জন্য আমার রিটার্ন কোডটি পাওয়া দরকার।
আমি নিম্নলিখিত স্ক্রিপ্ট চেষ্টা করা হয়েছে:
#!/bin/bash
set -x
pid=()
return=()
for i in 1 2
do
echo start $i
ssh mysql "/root/test$i.sh" &
pid[$i]=$!
done
for i in ${#pid[@]}
do
echo ${pid[$i]}
wait ${pid[$i]}
return[$i]=$?
if [ ${return[$i]} -ne 0 ]
then
echo mail error
fi
done
echo ${return[1]}
echo ${return[2]}
আমার সমস্যাটি ওয়েট লুপ চলাকালীন, যদি দ্বিতীয় পিড প্রথমটির আগে শেষ হয়, আমি রিটার্ন কোডটি পাব না।
আমি জানি যে আমি অপেক্ষা পিড 1 পিড 2 চালাতে পারি, তবে এই কমান্ডের সাহায্যে আমি সমস্ত কমান্ডের রিটার্ন কোড পেতে পারি না।
কোন ধারণা ?