检查偶数 - 确定
if [ $(( $n % 2 )) -eq 0 ]
then
echo "$n is even number"
fi
如何检查奇数?
if [ $(( $n % ????? )) -eq 0 ]
then
echo "$n is odd number"
fi
感谢
答案 0 :(得分:4)
使用“不等于0”:
if [ $(( $n % 2)) -ne 0 ]
then
echo "$n is odd"
fi
另请参阅:http://tldp.org/LDP/abs/html/comparison-ops.html
你也可以使用“n%2等于1”,因为奇数除以2的余数是1:
if [ $(( $1 % 2)) -eq 1 ]
then
echo "$1 is odd"
fi
但前者(不等于0)是更一般的情况,所以我更喜欢它。
答案 1 :(得分:2)
上面的所有答案都使用[
过时的单个方括号bash
(我们正在谈论bash
,对吧?)。确定奇数或偶数n
的最佳做法是:
if (( n%2==0 )); then
printf "%d is even\n" $n
else
printf "%d is odd\n" $n
fi
或者,正如OP想要的那样,即检查n
是否为奇数:
if (( n%2 )); then
printf "%d is odd\n" $n
fi
答案 2 :(得分:0)
echo -n "Enter numnber : "
read n
rem=$(( $n % 2 ))
if [ $rem -eq 0 ]then
echo "$n is even number"
else
echo "$n is odd number"
fi
答案 3 :(得分:0)
我更喜欢简单:
x=8; ((x%2)) || echo even
x=7; ((x%2)) && echo odd