Assim?
rpt=0
until [ 5 -le "$((rpt+=1))" ] && unset rpt
printf '\nSelect your Options:(1|2|3): ' >&2
read SELECTION &&
case $SELECTION in
(*[!123\ ]*|*[123][123]*|'') ! :
esac
do : "${rpt?too many loops!}"
echo >&2 \
"Check your selection. Anything outside the following will make this fail: 1 2 3 "
done
for INPUT in $SELECTION
do case $INPUT in
(1) echo "you selection option 1"
;;
(2) echo "you selection option 2"
;;
(3) echo "you selection option 3"
;;
esac
done