Bir kullanıcı girişinin geçerliliğini kontrol bash bir komut dosyası yazmaya çalışıyorum.
Girdi (değişken diyelim x
) geçerli değerler listesiyle eşleştirmek istiyorum .
şu anda ortaya çıkardığım şey:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
Benim sorum, bunu yapmanın daha basit bir yolu olup olmadığı, çoğu programlama dili için
bir şey list.contains(x)
.
Ek:
Söyle listesi:
list="11 22 33"
list
bir dize olarak değil, bir dizi olarak ele alındığından kodum yalnızca bu değerler için yankılanacaktır, 1
başarısız olmasını isterken tüm dize manipülasyonları doğrulayacaktır .
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'