![Bash shell 十进制测试](https://linux22.com/image/93777/Bash%20shell%20%E5%8D%81%E8%BF%9B%E5%88%B6%E6%B5%8B%E8%AF%95%20.png)
我的 shell 是 bash,我有三个变量 x=5; y = 7; z=7.5
我试图使用下面的语句来测试变量 $y 和 $z 的相等性,如下所示
命令:test $z -eq $y; echo $?
但是,它显示以下错误,我无法解决它。
-bash:测试:7.2:期望整数表达式
2
笔记:当我对整数 $x 和 $y 应用相同的测试命令时,它们工作正常。
答案1
您可以使用==
运算符bc
。
test "$(echo $x == $z |bc)" -eq 1
expr1 == expr2
如果 expr1 等于 expr2,结果为 1。
——摘自 BC(1)