我想比較存儲在shell腳本中的變量中的兩個數字。目的是要查找傳入值是否在指定範圍內:500-600
或700-800
。在bash中比較整數和小數
我當前的代碼看起來像:
inc=0
srange[0]=500
erange[0]=600
srange[1]=700
erange[1]=800
for i in "${startrange[@]}"; do
if [[ " ${startrange[$inc]} " -lt " $actual " ]]; then
echo " in range "
fi
inc = $((inc+1))
done
代碼工作與整數值,如530
或540
但無法與像530.2
或540.3
,導致在此行代碼的語法錯誤十進制值:
if ((" ${startrange[$inc]} " -lt " $actual ")); then
我該如何解決這個問題來處理小數值?
你在用什麼外殼? – Jubobs
你的問題意味着你正在使用一個帶有數組和'(('''''我猜''bash'')的shell,請指出你正在使用哪個shell並更新這個問題的標籤 – kojiro
使用bc或者awk,搜索功能 – 123