2016-06-18 277 views
2

只是對上述話題一個簡單的問題:算術語句if語句

if [ $value1 -lt $value2 -a $value1 is -ge $value2/2 ] 

如何:

目前,我試圖用我公司通過給定的值在我的if語句讀是否可以將一個值與另一個值進行比較,而無需事先做出方程式?

回答

4

使用bash的算術:

if ((value1<value2 && value1>=value2/2)); then 
0

POSIX的版本(這也適用於bash,雖然比用算術語句笨拙)是

if [ "$value1" -lt "$value2" ] && [ "$value1" -ge $(("$value2"/2)) ] 

(順便說一句,不要使用-a用於邏輯與;它是對POSIX標準的擴展,不保證被所有兼容的外殼實現。)