J'essaye d'écrire un script en bash qui vérifie la validité d'une entrée d'utilisateur.
Je veux faire correspondre l'entrée (disons la variable x
) à une liste de valeurs valides.
ce que je suis venu avec pour le moment est:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
Ma question est de savoir s'il existe un moyen plus simple de le faire,
quelque chose comme list.contains(x)
pour la plupart des langages de programmation.
Ajout:
Dites que la liste est:
list="11 22 33"
mon code ne fera écho au message que pour ces valeurs car il list
est traité comme un tableau et non comme une chaîne, toutes les manipulations de chaîne seront validées 1
alors que je voudrais qu'il échoue.
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'