我需要检查一个数字是否是偶数。
这是我尝试过的。
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
关于bash - 检查一个数字是否在 shell 中是偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17960817/