在编写交互式脚本的时候经常需要检查输入,比如检查输入是否为整数。
思路一:正则表达式
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工具来做,方法很多,适合自己的就好。
.
Linux shell 判断输入是否为全数字,布布扣,bubuko.com
原文:http://callmepeanut.blog.51cto.com/7756998/1370876