আমার কাছে সম্প্রতি একটি অনুরূপ প্রশ্ন ছিল (যদিও আমি পোস্ট করি নি, তবে আমি এটি প্রায় পেয়েছিলাম), এবং আমি যা দেখতে পাচ্ছি তা দেখে মনে হচ্ছে ঠিক কমান্ডের আগে সেট + ই ব্যবহার করা হয়েছে এবং সেট-ই পরে সবচেয়ে মার্জিতভাবে কাজ করে। কমান্ডের প্রতিক্রিয়া ধরা এবং ত্রুটিটিকে এড়াতে দেওয়া না দেওয়ার জন্য এখানে একটি উদাহরণ দেওয়া আছে।
#!/bin/sh
args=""
for argcol in $*
do
args="${args} ${argcol}"
done
fortunevar=""
fortfail=""
{
set +e
fortunevar=`fortune $args`
fortfail=$?
set -e
} &> /dev/null
if [ $fortfail == 0 ]
then
echo ${fortunevar}
say ${fortunevar}
else
echo misfortune: an illegal option was detected!
echo misfortune: usage: misfortune [-afilosw] [-m pattern][ [#%] file/directory/all]
fi
এটি 'ভাগ্য' এর আউটপুট ধরে এবং এর প্রস্থান স্থিতি পরীক্ষা করে এবং প্রতিধ্বনিত করে এবং বলে। আমি মনে করি এটিই আপনি যা চেয়েছিলেন, বা কমপক্ষে অনুরূপ কিছু? যাইহোক, আশা করি এটি সাহায্য করবে।