循环shell脚本的十进制

时间:2013-06-13 13:57:33

标签: bash shell for-loop decimal

如何在bash shell脚本中定义for循环以获得0.50到1.00的十进制值(即0.50 0.51等) 我发现了这样的事情:

for I in $(seq 50 100)
do
    echo $I 10 | awk '{print $1/$2}'    

done

但它只是显示了值,我需要将它分配给变量。我该怎么办?

4 个答案:

答案 0 :(得分:6)

无需外部命令:

for i in {50..100} ; do
    j=0.$i
    (( i==100 )) && j=1
    echo $j
done

答案 1 :(得分:0)

for I in $(seq 50 100)
do
    J=`echo $I 10 | awk '{print $1/$2}'`
    echo $J
done

答案 2 :(得分:0)

好的,这就是我做过的事情

i=$(echo "scale=2;0.50" | bc)

echo $i

for a in {50..100};do
echo $i
i=$(echo "scale=2;$i+0.01" | bc)
done

scale =您想要的小数位数 ;(你想做的操作)你可以/ * + - ...

我的脚本输出是

0.50 0.50 0.51 0.52 0.53 0.54 0.55 0.56 0.57 0.58 0.59 0.60 0.61 0.62 0.63 0.64 0.65 0.66 0.67 0.68 .69 ...... 1.00

答案 3 :(得分:0)

seq --version
seq (GNU coreutils) 8.4
...

seq 0.5 .01 1.0
0.50
0.51
0.52
...
1.00