ฉันพยายามเขียนสคริปต์ใน bash ที่ตรวจสอบความถูกต้องของอินพุตของผู้ใช้
ฉันต้องการจับคู่อินพุต (พูดตัวแปร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'