मैं बैश में एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो उपयोगकर्ता इनपुट की वैधता की जांच करता है।
मैं x
मान्य मानों की सूची में इनपुट (वेरिएबल ) कहना चाहता हूं ।
मैं इस समय साथ आया हूँ:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
मेरा सवाल यह है कि क्या ऐसा करने का एक सरल तरीका है, अधिकांश प्रोग्रामिंग भाषाओं के लिए
कुछ ऐसा है list.contains(x)
।
जोड़:
सूची कहें:
list="11 22 33"
मेरा कोड केवल उन मूल्यों के लिए संदेश को प्रतिध्वनित करेगा list
क्योंकि एक सरणी के रूप में माना जाता है और एक स्ट्रिंग नहीं है, सभी स्ट्रिंग जोड़तोड़ मान्य होंगे 1
जबकि मैं चाहता हूं कि यह विफल हो जाए।
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'