Estou tentando escrever um script no bash que verifique a validade de uma entrada do usuário.
Quero corresponder a entrada (digamos variável x
) a uma lista de valores válidos.
o que eu inventei no momento é:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
Minha pergunta é se existe uma maneira mais simples de fazer isso,
algo como um list.contains(x)
para a maioria das linguagens de programação.
Adição: a
lista de palavras é:
list="11 22 33"
meu código ecoará a mensagem apenas para esses valores, uma vez que list
é tratada como uma matriz e não como uma string, todas as manipulações de string serão validadas 1
enquanto eu gostaria que ela falhasse.
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'