आप सभी अनुमत शब्दों को निर्दिष्ट करने के लिए fgrep का उपयोग कर सकते हैं:
if $(echo "$WORD" | fgrep -wq -e dog -e cat -e horse) ; then
echo yes
else
echo no
fi
-w
ध्वज से मेल खाता है केवल पूर्ण शब्द, -q
झंडा यह चुपचाप संचालित करता है (क्योंकि हम सभी की जरूरत के लिए वापसी मान है कथन का उपयोग करने के लिए करता है, तो), और प्रत्येक -e
पैटर्न की अनुमति के लिए एक पैटर्न निर्दिष्ट करता है।
fgrep
grep का संस्करण है जो रेगेक्स मिलान के बजाय सामान्य स्ट्रिंग मिलान करता है। यदि आपके पास है grep
, तो आपके पास होना चाहिए fgrep
, लेकिन यदि नहीं है, तो यह ध्वज के grep
साथ उपयोग करने के समान है -F
(इसलिए आप बस fgrep -wq
इसके साथ ऊपर प्रतिस्थापित करेंगे grep -Fwq
)।
shopt -s nocasematch
अगर आप खोज को असंवेदनशील बनाना चाहते हैं तो मदद कर सकते हैं।