【发布时间】:2015-04-14 16:46:49
【问题描述】:
我想排除所有不是来自我的变量的数字:
例子:
好变量: 4564 或 332 或 1
错误的变量: er0rr 或 E131 或 KE1
我不确定如何使用 if 语句来识别输出是一个数字。
【问题讨论】:
标签: bash if-statement
我想排除所有不是来自我的变量的数字:
例子:
好变量: 4564 或 332 或 1
错误的变量: er0rr 或 E131 或 KE1
我不确定如何使用 if 语句来识别输出是一个数字。
【问题讨论】:
标签: bash if-statement
在 BASH 中,您可以使用此正则表达式条件来检查变量 n 是否仅包含数字:
[[ "$n" =~ ^[[:digit:]]+$ ]]
【讨论】:
[[ $n = +([[:digit:]]) ]]。请注意,这并不能保证您可以在 Bash 的算术上下文中使用此数字。例如,n=09 通过了这个测试,但在算术上下文中使用时会引发 09: value too great for base (error token is "09") 错误。要解决此问题,您将在此测试之后使用以下内容:n=$((10#$n))。