在編寫交互式腳本的時候經常需要檢查輸入,比如檢查輸入是否爲整數。
思路一:正則表達式
read -p "Please input an integer: " num [[ "$num" =~ ^[1-9]+$ ]] && echo OK || echo Wrong #注意正則表達式(^[1-9]+$)不能加引號!!!
思路二:利用case語句來判斷
read -p "Please input an integer: " num case "$num" in *[!0-9]*) echo Wrong;; * ) echo OK;; esac # #上面對於012這種非法輸入不能判斷,可以加以改進 case "$num" in [1-9][0-9]*) echo OK;; * ) echo Wrong;; esac
以上只是利用shell自帶的正則表達式和結構來做判斷,也可以結合awk和sed工具來做,方法很多,適合自己的就好。
.