0

偶数チェック - OK

if [ $(( $n % 2 )) -eq 0 ]
then
  echo "$n is even number"
fi

奇数を確認するには?

if [ $(( $n % ????? )) -eq 0 ]
then
  echo "$n is odd number"
fi

感謝

4

4 に答える 4

4

「等しくない 0」を使用します。

if [ $(( $n % 2)) -ne 0 ]
then
    echo "$n is odd"
fi

参照: http://tldp.org/LDP/abs/html/comparison-ops.html

奇数を 2 で割った余りは 1 であるため、「n%2 equals 1」も使用できます。

if [ $(( $1 % 2)) -eq 1 ]
then
    echo "$1 is odd"
fi

しかし、前者 (等しくない 0) はより一般的なケースなので、私はそれを好みます。

于 2012-11-12T09:19:28.567 に答える
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
于 2012-11-12T13:49:04.890 に答える
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
于 2012-11-12T09:21:17.587 に答える