1. 必须输入纯数字, 忽略类似 ' 2' '3 ' 数字前后带空格输入
2. 数字范围必须控制在 10 ~ 90 中
#!/bin/bash
status='err'
start=10
end=90
while [ $status != 'ok' ]
do
IFS=''
read input
if [ -z $input ]
then
status='err'
continue
fi
echo $input | grep '\ ' > /dev/null 2>&1
if [ $? -eq 0 ]
then
status='err'
continue
fi
len=`expr length $input`
a=1
while [ $a -le $len ]
do
char=`expr substr $input $a 1`
let a++
if [[ $char =~ [[:digit:]] ]]
then
:;
else
status='err'
continue
fi
done
if (( $input <= $start )) || (( $input >= $end ))
then
status='err'
continue
else
status='ok'
fi
done