1. 程式人生 > >shell指令碼之判斷輸入引數是否為整數值

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