এটি বাশ-কেবল (> = সংস্করণ 3) সমাধান যা নিয়মিত এক্সপ্রেশন ব্যবহার করে:
if [[ "$WORD" =~ ^(cat|dog|horse)$ ]]; then
echo "$WORD is in the list"
else
echo "$WORD is not in the list"
fi
যদি আপনার শব্দের তালিকাটি দীর্ঘ হয় তবে আপনি এটিকে একটি ফাইলে (প্রতি লাইনে একটি শব্দ) সংরক্ষণ করতে পারেন এবং এটি করতে পারেন:
if [[ "$WORD" =~ $(echo ^\($(paste -sd'|' /your/file)\)$) ]]; then
echo "$WORD is in the list"
else
echo "$WORD is not in the list"
fi
ফাইল পদ্ধতির সাথে একটি সতর্কতা:
ধন্যবাদ আমাকে স্মরণ সঠিকভাবে সঙ্গে প্যাটার্ন নোঙ্গর করার জন্য @terdon করতে ^
এবং $
।
shopt -s nocasematch
আপনি যদি অনুসন্ধানটি কে সংবেদনশীল হতে চান তবে সহায়তা করতে পারে।