当前位置: 首页 > 面试题库 >

如何在Bash中测试变量是否为数字?

郑俊美
2023-03-14
问题内容

我只是不知道如何确定传递给脚本的参数是否为数字。

我要做的就是这样:

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]+)?$


 类似资料:
  • 问题内容: 确定JavaScript中的变量是否为数组的最佳事实标准跨浏览器方法是什么? 在网络上搜索时,有很多不同的建议,其中有些是好的,有些是无效的。 例如,以下是基本方法: 但是,请注意,如果数组为空,或者obj实际上不是数组,但是实现了length属性,将会发生什么情况。 那么,从实际工作,跨浏览器和仍有效执行的角度来看,哪种实现是最佳的呢? 问题答案: JS中对象的类型检查是通过完成的,

  • 问题内容: 我有一个可以返回以下三项之一的函数: 成功() 失败() 错误读取/解析流() 我的问题是,如果不应该针对或进行测试,应该如何查看结果。以下是我目前的操作方式: 它真的像删除零件一样简单,还是应该添加一个三布尔数据类型。我不希望该函数引发异常,因为我希望外部程序对错误进行的所有操作都要记录并继续。 问题答案: 不要害怕例外!让您的程序仅记录并继续操作很容易: 现在,如果您发现错误/没有

  • 问题内容: 我有一个变量,我想知道它是否指向一个函数。 我曾希望我可以做些类似的事情: 但这给了我: 我选择的原因是 问题答案: 如果这是用于Python 2.x或Python 3.2+,则也可以使用。它曾经不推荐使用,但是现在不推荐使用,因此你可以再次使用它。你可以在此处阅读讨论内容:http : //bugs.python.org/issue10518。你可以执行以下操作: 如果这是针对Pyt

  • 问题内容: 我试图用bash编写脚本来检查用户输入的有效性。 我想将输入(例如变量)与有效值列表进行匹配。 我目前想出的是: 我的问题是,是否有更简单的方法可以做到这一点, 就像大多数编程语言一样。 另外: 说的清单是: 我的代码将仅针对那些值回显该消息,因为将其视为数组而不是字符串,所有字符串操作都将验证,而我希望它失败。 问题答案: 或创建一个函数: 使用它:

  • 问题内容: 在Swift3中,我不再能够检查泛型变量类型是否为class()。下面的代码返回了即使特定类型,并通过价值结构,而不是类。在Swift2.3和2.2中,它可以按预期工作,并且为。 如何使它在Swift 3中正常工作? 问题答案: 在Swift3中,由于引入了所有内容,因此可以将所有不能直接桥接到Objective- C的内容包装在一个不透明的Objective-C兼容框中。 因此将永远

  • 问题内容: 如何检查JavaScript中的变量是否为整数,如果不是,则引发警报?我试过了,但是不起作用: 问题答案: 使用===运算符(严格等于,如下所示: