Consider the following as a starting point. Add more error checking for getting practice.
#!/bin/bash
while :
do
read -p "Enter a three digit number or q to quit: " input
if (( input >= 100 && input <= 999)); then
echo "good entry"
digit1=${input:0:1} && echo "digit1 is $digit1"
digit2=${input:1:1} && echo "digit2 is $digit2"
digit3=${input:2:1} && echo "digit3 is $digit3"
elif [[ $input == "q" ]]; then
break
else
echo "bad entry"
fi
done
Output:
Enter a three digit number or q to quit: 4256
bad entry
Enter a three digit number or q to quit: 242
good entry
digit1 is 2
digit2 is 4
digit3 is 2
Enter a three digit number or q to quit: 562
good entry
digit1 is 5
digit2 is 6
digit3 is 2
Enter a three digit number or q to quit: q
###program breaks here