[root@rocky script]# cat bmi.sh
#!/bin/bash
read -p "请输入身高(m为单位): " HIGH
if [[ ! "$HIGH" =~ ^[0-2](\.[0-9]{,2})?$ ]];then #如果不在正则表达式范围内
echo "输入错误的身高!"
exit 1
fi
read -p "请输入体重(kg为单位): " WEIGHT
if [[ ! "$WEIGHT" =~ ^[0-9]{1,3}$ ]];then echo "输入错误的体重!"; exit 2; fi
BMI=`echo $WEIGHT/$HIGH^2|bc`
echo $BMI
if [ $BMI -le 18 ] ;then
echo "太瘦了 "
elif [ $BMI -lt 24 ] ;then
echo "你真棒"
else
echo "太胖了"
fi
[root@rocky script]# bash bmi.sh
请输入身高(m为单位): 1.65
请输入体重(kg为单位): 55
20
你真棒
[root@rocky script]# bash bmi.sh
请输入身高(m为单位): 2
请输入体重(kg为单位): 70
17
太瘦了
[root@rocky script]# bash bmi.sh
请输入身高(m为单位): 1
请输入体重(kg为单位): 50
50
太胖了