如何定义两个变量x=20,y=5,然后打印x和y的除法(即x/y)-bash

如何定义两个变量x=20,y=5,然后打印x和y的除法(即x/y)-bash,bash,ubuntu-14.04,Bash,Ubuntu 14.04,我正在使用Ubuntu 14.04,我尝试了以下方法: $ x=20 $ y=5 $ expr x / y 但我有一个错误: expr: non-integer argument 必须展开变量以获取其值:$x和$y: expr $x / $y 必须展开变量以获取其值:$x和$y: expr $x / $y 使用现代Bash算法: echo $((x / y)) 要将结果分配给变量z: ((z = x / y)) echo $z 要验证z的值: ((z = x / y))

我正在使用Ubuntu 14.04,我尝试了以下方法:

$ x=20  
$ y=5  
$ expr x / y 
但我有一个错误:

expr: non-integer argument

必须展开变量以获取其值:
$x
$y

expr $x / $y

必须展开变量以获取其值:
$x
$y

expr $x / $y

使用现代Bash算法:

echo $((x / y))
要将结果分配给变量
z

((z = x / y))
echo $z
要验证
z的值

((z = x / y))
echo $z

使用现代Bash算法:

echo $((x / y))
要将结果分配给变量
z

((z = x / y))
echo $z
要验证
z的值

((z = x / y))
echo $z

expr
是绝对的,尽可能避免它(参见我的答案)。它不是过时的,它是POSIX shell编程中唯一可用的东西。在高级shell中,它刚刚被诸如
(…)
之类的算术运算符所取代。但总的来说,我同意你的意见。
expr
是绝对的,尽可能避免它(参见我的答案)。它不是过时的,它是POSIX shell编程中唯一可用的东西。在高级shell中,它刚刚被诸如
(…)
之类的算术运算符所取代。但总的来说,我同意你的意见。