检查偶数数字-OK
if [ $(( $n % 2 )) -eq 0 ]
then
echo "$n is even number"
fi
如何检查奇数?
if [ $(( $n % ????? )) -eq 0 ]
then
echo "$n is odd number"
fi
谢谢
使用"不等于0":
if [ $(( $n % 2)) -ne 0 ]
then
echo "$n is odd"
fi
另请参见:http://tldp.org/ldp/abs/html/comparison-ops.html
您也可以使用" n%2等于1",因为奇数的其余部分除以两个是:
if [ $(( $1 % 2)) -eq 1 ]
then
echo "$1 is odd"
fi
但是前者(不是等于0)是更一般的情况,所以我更喜欢它。
上面的所有答案都使用bash
中过时的单个方括号[
(我们在谈论bash
,对吗?)。最佳练习确定奇数甚至数字n
的确定是:
if (( n%2==0 )); then
printf "%d is evenn" $n
else
printf "%d is oddn" $n
fi
或,如OP想要的那样,即检查n
是否奇怪:
if (( n%2 )); then
printf "%d is oddn" $n
fi
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
我更喜欢:
的简单性x=8; ((x%2)) || echo even
x=7; ((x%2)) && echo odd