题目: 数值N累加到M(N

以下实例中,是以1到100作为例子,完全可以自行带入N和M(N

for循环实现

sum=0
for((i=1;i<=100;i++))
do
 sum=$((i+$sum))
done
echo $sum


通过变量运算实现

echo $[$(echo +{1..100})]
echo $(($(echo +{1..100})))
echo $[(100+1)*(100/2)]

知识点:

i=2&&echo $((i+3))# 计算后打印新变量结果
i=2&&echo $[i+3]# 计算后打印新变量结果


$(()) 和$[] 由此看出,这两个变量的表达方式,虽然形式不一样,但结果一样

通过seq和bc命令实现

seq -s '+' 100 |bc

知识点:

seq  常用参数
# 不指定起始数值,则默认为 1
-s   # 选项主要改变输出的分格符, 预设是 \n
-w   # 等位补全,就是宽度相等,不足的前面补 0
-f   # 格式化输出,就是指定打印的格式



感谢:

雪松大大对linux的总结

老男孩老师的博客分享