if [[ 6 > 50 ]]; then
echo "true"
fi
$ bash script.sh
我在这里遗漏了一些非常明显的东西。为什么6大于50?
** 编辑 **
我也在尝试解决
if [[ 6.5 > 50 ]]; then
echo "true"
fi
答案1
如果需要比较浮点数,最简单的方法是调用 awk 或 bc 等外部工具
a=6.1
b=50
if [[ "$(echo "$a > $b" | bc)" -eq 1 ]]; then echo "a greater than b"; fi
答案2
如果您要比较整数,则使用
if [[ 6 -gt 50 ]]; then echo "true"; fi
否则因为 bash 无法处理浮点
if (( $(echo "6.5 > 50" | bc -l) )); then echo "true"; fi