关于上述主题的简短问题:
我正在尝试使用我在if语句中读取的值:
if [ $value1 -lt $value2 -a $value1 is -ge $value2/2 ]
如何在不事先制定方程式的情况下将一个值与另一个值进行比较?
答案 0 :(得分:4)
使用Bash算法:
if (( value1<value2 && value1>=value2/2 )); then
答案 1 :(得分:0)
POSIX版本(也适用于bash
,虽然比使用算术语句更笨拙)
if [ "$value1" -lt "$value2" ] && [ "$value1" -ge $(( "$value2" / 2)) ]
(顺便说一句,不要将-a
用于逻辑AND;它是POSIX标准的扩展,不能保证所有兼容shell都能实现。)