我需要检查数字是否均匀.
这是我尝试过的.
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)
最佳答案
你可以做一个简单的事情:
eCheck=$(( $newY & 1 ))
在bash中使用按位运算符.