数值比较
数字比较使用 -eq
运算符和朋友
if [[ $num1 -eq $num2 ]]; then
echo "$num1 == $num2"
fi
if [[ $num1 -le $num2 ]]; then
echo "$num1 <= $num2"
fi
有六个数字运算符:
-eq
相等-ne
不相等-le
少于或等于-lt
不到-ge
大于或等于-gt
大于
请注意,[[ … ]]
中的 <
和 >
运算符比较字符串,而不是数字。
if [[ 9 -lt 10 ]]; then
echo "9 is before 10 in numeric order"
fi
if [[ 9 > 10 ]]; then
echo "9 is after 10 in lexicographic order"
fi
双方必须是以十进制(或八进制,前导零)写的数字。或者,使用 ((…))
算术表达式语法,该语法以类似 C / Java / …的语法执行整数计算。
x=2
if ((2*x == 4)); then
echo "2 times 2 is 4"
fi
((x += 1))
echo "2 plus 1 is $x"