Bash

Bash 腳本 - 6 > 50 怎麼樣?

  • September 9, 2020
if [[ 6 > 50 ]]; then
   echo "true"
fi

$ bash script.sh

我在這裡遺漏了一些非常明顯的東西。為什麼6大於50??

** 編輯 **

我也在嘗試解決

if [[ 6.5 > 50 ]]; then
   echo "true"
fi

如果您需要比較浮點數,最簡單的方法是呼叫外部工具,如 awk 或 bc

a=6.1
b=50
if [[ "$(echo "$a > $b" | bc)" -eq 1 ]]; then echo "a greater than b"; fi

如果您要比較整數,請使用

if [[ 6 -gt 50 ]]; then echo "true"; fi

否則由於 bash 無法處理浮點

if (( $(echo "6.5 > 50" | bc -l) )); then echo "true"; fi

引用自:https://unix.stackexchange.com/questions/608528