我只是不知道如何确定传递给脚本的参数是否为数字。
我要做的就是这样:
test *isnumber* $1 && VAR=$1 || echo "need a number"
有什么帮助吗?
一种方法是使用正则表达式,如下所示:
re='^[0-9]+$' if ! [[ $yournumber =~ $re ]] ; then echo "error: Not a number" >&2; exit 1 fi
如果该值不一定是整数,请考虑适当修改正则表达式;例如:
^[0-9]+([.][0-9]+)?$
…或使用带符号处理数字:
^[+-]?[0-9]+([.][0-9]+)?$