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