当我在shell中运行如下命令时,它返回一个expr: non-integer argument
错误.谁能给我解释一下吗?
$ x=20
$ y=5
$ expr x / y
expr: non-integer argument
当我在shell中运行如下命令时,它返回一个expr: non-integer argument
错误.谁能给我解释一下吗?
$ x=20
$ y=5
$ expr x / y
expr: non-integer argument
这些变量是shell变量.要将它们作为参数扩展到另一个程序(ie expr
),需要使用$
前缀:
expr $x / $y
它抱怨的原因是,它认为您试图对字母字符(ie个非整数)进行操作
如果您使用的是Bash shell,则可以使用表达式语法获得相同的结果:
echo $((x / y))
或者:
z=$((x / y))
echo $z