Linux | shell判断输入是否为全数字

  • 内容
  • 相关

在编写交互式脚本的时候经常需要检查输入,比如检查输入是否为整数。

思路一:正则表达式

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 | ssh登陆Linux速度慢的问题(以Centos7 / Redhat 7为例)

下一篇:华为 | eNSP和SecureCRT连接乱码问题

本文标签:    

版权声明:本文依据CC-BY-NC-SA 3.0协议发布,若无特殊注明,本文皆为《fishyoung》原创,转载请保留文章出处。

本文链接:Linux | shell判断输入是否为全数字 - http://www.fishyoung.com/post-252.html