按较小的数字除法



一个shell脚本给我带来了麻烦。它应该在每次迭代时显示一些递增的值。划分"1/9"是问题的根源,将计数设置为"1.0"应该可以解决问题,但反而给了我一个错误:"非法号码:1.0"

count=1
rtime=9
until [ $count -eq $rtime ]
do
  echo $((($count/$rtime)*10))
  sleep 1
  count=$(($count+1))
done
set -o nounset                              # Treat unset variables as an error
count=1
rtime=9
until [ $count -eq $rtime ]
do
    echo $(echo "scale=2; $((count*10))/$rtime" | bc)                                                                                 
    sleep 1
    count=$((count+1))
done

shell 只能做整数算术。对于浮子,您可以尝试 bc .

最新更新