如何测试一个变量是在bash多少? [英] How do I test if a variable is a number in bash?

查看:84
本文介绍了如何测试一个变量是在bash多少?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是想不通我怎么确保传递给我的脚本参数是一个数字或没有。

I just can't figure out how do I make sure an argument passed to my script is a number or not.

所有我想要做的是这样的:

All I want to do is something like this:

test *isnumber* $1 && VAR=$1 || echo "need a number"

任何帮助吗?

推荐答案

一种方法是使用常规的前pression,像这样:

One approach is to use a regular expression, like so:

re='^[0-9]+$'
if ! [[ $yournumber =~ $re ]] ; then
   echo "error: Not a number" >&2; exit 1
fi

如果该值不一定是一个整数,可以考虑适当地修改正则表达式;例如:

If the value is not necessarily an integer, consider amending the regex appropriately; for instance:

^[0-9]+([.][0-9]+)?$

...或者,处理负数:

...or, to handle negative numbers:

^-?[0-9]+([.][0-9]+)?$

这篇关于如何测试一个变量是在bash多少?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆