shell求前n分之一的和
2018-05-15可以用awk或bc保留小数。
1、小数
awk BEGIN'{printf "%.5f\n", 2/3}'
2、more sum.sh
#!/bin/sh
N=$1
if [[ -z $1 ]];then
echo Usage $0 num
exit 0
fi
sum=0
for((i=1;i<$N;i++))
do
j=$(echo "1 $i"|awk '{printf "%.5f\n",$1/$2}');
sum=$(echo "$j $sum"|awk '{printf "%.5f\n",$1+$2}')
done
echo $sum
3、./sum.sh 5
2.82897
4、或者
#!/bin/sh
N=$1
if [[ -z $1 ]];then
echo Usage $0 num
exit 0
fi
sum=0
for((i=1;i<${N};i=i+1))
do
j=$(echo "scale=5; 1/$i" | bc)
sum=$(echo "$sum+$j" | bc);
done
echo $sum
分类:Linux | 标签: |