linux下报expr语法错误,代码如下,本人是菜鸟,求指导。

linux下报expr语法错误,代码如下,本人是菜鸟,求指导。,第1张

如果你要用 expr 这个工具 需要注意空格, 你的源码改成下面的即可 (注意加号和 1 之间的空格)

data=`expr $data + 1`

用bash要做数学运算,最简单的方法是用 let 语句,比如你的代码可以写成

data=1

let 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

这是一个非数值字符。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8298134.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存