Estoy tratando de escribir un script en bash que verifique la validez de una entrada del usuario.
Quiero hacer coincidir la entrada (digamos variable x
) con una lista de valores válidos.
Lo que se me ocurrió en este momento es:
for item in $list
do
if [ "$x" == "$item" ]; then
echo "In the list"
exit
fi
done
Mi pregunta es si hay una forma más sencilla de hacer esto,
algo así como list.contains(x)
para la mayoría de los lenguajes de programación.
Adición:
Dicha lista es:
list="11 22 33"
mi código hará eco del mensaje solo para esos valores, ya que list
se trata como una matriz y no como una cadena, todas las manipulaciones de la cadena se validarán 1
mientras que yo quiero que falle.
[[ $list =~ (^| )$x($| ) ]] && echo 'yes' || echo 'no'