【发布时间】:2014-05-01 20:08:33
【问题描述】:
我想检查某个字符串是否为数字,我试过这样:
if ${string} == *[!0-9]*
else echo its a number
但是当我有一个负数时,它说它不是一个数字,我希望它也适用于负数。
【问题讨论】:
-
不,它不适用于负数
-
在那个问题中,您可以找到一些考虑到负数的答案。
-
@Sefi,那里接受的答案在其 cmets 中有一个负数的解决方案;我已将其编辑为正确的答案。
-
@CharlesDuffy 非常感谢,但是当我有一个像“---7”这样的数字时,它说它不是一个数字,而不是读为 -7
-
@Sefi,
---7不是数字;逻辑是正确的。但是,如果您想要零个或多个-符号,则可以使用-*而不是-?。顺便说一句,另一个答案中的 cmets 也讨论了这个问题。 :)
标签: bash