
如果你要用 expr 这个工具 需要注意空格, 你的源码改成下面的即可 (注意加号和 1 之间的空格)
data=`expr $data + 1`用bash要做数学运算,最简单的方法是用 let 语句,比如你的代码可以写成
data=1let data++
这样就没必要再调用外部工具去做数学运算了。
expr好像只能处理整数吧?8369.4000
expr: non-numeric argument
expr命令为Linux中的命令,一般用于整数值计算,但也可用于字符串 *** 作。
数值测试
可以用expr测试一个数。如果试图计算非整数,将返回错误。
$rr=1.1
$expr $rr + 1
expr: non-numeric argument
$rr=2
$expr $rr + 1
3
这里需要将一个值赋予变量(不管其内容如何),进行数值运算,并将输出导入dev/null,然后测试最后命令状态,如果为0,证明这是一个数,其他则表明为非数值。
$VALUE=12
$expr $VALUE + 10 >/dev/null 2>&1
$echo $?
0
这是一个数。
$VALUE=hello
$expr $VALUE + 10 >/dev/null 2>&1
$echo $?
2
这是一个非数值字符。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)