I am trying to write a script in bash that check the validity of a user input. I want to match the input (say variable x) to a list of valid values.
x
[[ $list =~ (^|[[:space:]])$x($|[[:space:]]) ]] && echo 'yes' || echo 'no'
or create a function:
contains() { [[ $1 =~ (^|[[:space:]])$2($|[[:space:]]) ]] && exit(0) || exit(1) }
to use it:
contains aList anItem echo $? # 0: match, 1: failed