shell指令碼之判斷輸入引數是否為整數值
阿新 • • 發佈:2019-02-01
在寫指令碼時,通常會有很多關於命令列引數,變數等的判斷其是否存在或者型別是否正確。當判斷一個從命令列接收到一個值,需要判斷其是否為整型值時,有以下兩種方法:
1.用shell命令使其與某個整型值進行計算,通過$?來判斷其是否是一個整型值。
2.通過sed來判斷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
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