我需要检查数字是否为偶数。
这是我尝试过的。
newY="281"
eCheck=$(( $newY % 2 ))
echo $newY
echo $eCheck
while [ $eCheck -eq 0 ]; do
newY=$((newY-1))
eCheck=$(( $newY % 2 ))
echo $newY
done
...
返回
eCheck = 1
怎么会这样? 281/2 = 140.5我也尝试过使用
bc
,但是它陷入了无限循环eCheck=$(echo "scale=1;$newY%2" | bc)
最佳答案
Nici是正确的,“%”是模,并为您提供除法的余数。
您的脚本可以简化如下:
if [[ $((var % 2)) -eq 0 ]];
then echo "$var is even";
else echo "$var is odd";
fi