繁体   English   中英

测试参数为5位整数

[英]test for an argument being a 5 digit integer

我想测试我的bash脚本中的参数是否是一个5位整数。

if [ "$1" == [0-9][0-9][0-9][0-9][0-9] ]; then
    echo "first arg is 5 digits"
else
    echo "not 5 digits"

这对我不起作用,是否有更简单的方法,即使用expr函数?

请参阅man bash CONDITIONAL EXPRESSIONS

if [[ "$1" =~ ^[0-9]{5}$ ]]; then
    echo "first arg is 5 digits"
else
    echo "not 5 digits"
fi

测试此类表达式时,必须使用双括号。

case "$1" in
  [0-9][0-9][0-9][0-9][0-9]) echo "first arg is 5 digits" ;;
  *) echo "not 5 digits" ;;
esac

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM