shell指令碼之判斷輸入引數是否為整數值

2021-07-25 03:51:07 字數 648 閱讀 5727

在寫指令碼時,通常會有很多關於命令列引數,變數等的判斷其是否存在或者型別是否正確。當判斷乙個從命令列接收到乙個值,需要判斷其是否為整型值時,有以下兩種方法:

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

shell指令碼之判斷輸入引數是否為整數值的例項

在寫指令碼時,通常會有很多關於命令列引數,變數等的判斷其是否存在或者型別是否正確。當判斷乙個從命令列接收到乙個值,需要判斷其是否為整型值時,有以下兩種方法 1 用shell命令使其與某個整型值進行計算,通過 來判斷其是否是乙個整型值。flag true read p please input a n...

shell 指令碼之if判斷

bin bash user 1 單條件if的判斷 if user qa then 判斷傳入的使用者名稱是否是qa,如果是就輸出使用者名稱 echo user fi if else 結構 if user test then 判斷傳去的使用者名稱是否是 test,如果是就輸出使用者名稱,如果不是就輸出 ...

shell指令碼輸入引數檢驗

防止命令拼接注入等問題。本來想做黑名單校驗,比如說不能包含分號,等符號。考慮到沒有白名單安全,故使用白名單進行檢驗。校驗規則 只允許使用 數字大小寫字母 點號和冒號 ipv4和ipv6 斜桿 空格 指令碼 para echo para grep q e 0 9a za z.result if res...