I'm trying to enable only certain options when using the read
command, and to exit the script if a wrong possibility was entered.
Tried many possibilities (array, variables, syntax change), but I'm still stuck with my initial problem.
How do I test the input of the user and allow \ disallow to run the rest of the script?
#!/bin/bash
red=$(tput setaf 1)
textreset=$(tput sgr0)
echo -n 'Please enter requested region > '
echo 'us-east-1, us-west-2, us-west-1, eu-central-1, ap-southeast-1, ap-northeast-1, ap-southeast-2, ap-northeast-2, ap-south-1, sa-east-1'
read text
if [ -n $text ] && [ "$text" != 'us-east-1' -o us-west-2 -o us-west-1 -o eu-central-1 -o ap-southeast-1 -o ap-northeast-1 -o ap-southeast-2 -o ap-northeast-2 -o ap-south-1 -o sa-east-1 ] ; then
echo 'Please enter the region name in its correct form, as describe above'
else
echo "you have chosen ${red} $text ${textreset} region."
AWS_REGION=$text
echo $AWS_REGION
fi
Best Answer
Why don't you use case?