我只是不知道如何确保传递给我的脚本的参数是一个数字。
我想做的就是这样:
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]+)?$
关于linux - 如何测试变量是否是 Bash 中的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/806906/