时间:2020-11-28 14:12:19 | 栏目:Shell | 点击:次
在写脚本时,通常会有很多关于命令行参数,变量等的判断其是否存在或者类型是否正确。当判断一个从命令行接收到一个值,需要判断其是否为整型值时,有以下两种方法:
1、用shell命令使其与某个整型值进行计算,通过$?来判断其是否是一个整型值。
flag=true read -p "please input a number:" num while $flag do expr $num + 0 &>/dev/null [ $? -eq 0 ] && flag=false || read -p "please input a integer:" num done
2、通过sed来判断
flag=true read -p "please input a number:" num while $flag do len=`echo "$num"|sed 's/[0-9]//g'|sed 's/-//g'` [ -n $len ] && flag=false || read -p "please input a integer:" num done