我想编写程序来检查给定的输入是否为数字。谁能帮我?
if [ $Number -ne 0 -o $Number -eq 0 2>/dev/null ]
then ...
-o
以上命令代表什么?
-o
是or运算子。因此,您的测试会检查您的数字是否不等于0或等于0。
(因此它应始终返回true)。
要检查它是否为数字,可以使用正则表达式:这应该可以工作:
[[ "$number" =~ ^[0-9]+$ ]]
要查看所有可用标志的列表,请查看 man test
细节:
[[
是扩展的bash测试命令。它支持更多的运算符test/[
。=~
再次比较第一个参数为正则表达式^[0-9]+$
是正则表达式。^
是字符串开头和结尾的锚点$
。[0-9]
表示介于0到9之间的任何char,+
用于重复最新模式本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句