Bash脚本:如何从循环输出计算数值总和
Bash脚本循环数值求和实现方案
方法一:直接在脚本内累加变量(适合整数求和)
这种方式无需调用外部工具,直接在循环中维护一个总和变量,逻辑简单直观:
#!/bin/bash Bank=4 sum=0 for ((out=1; out<=$Bank; out++)) do # 实际场景中可替换为获取目标数值的逻辑(如读取文件、命令输出) sum=$((sum + out)) done echo $sum
运行后直接输出总和10,替换循环内的out为实际业务中的数值(如585、430等)即可复用。
方法二:通过管道配合工具求和
如果需要处理浮点数,或希望保留原有循环输出逻辑,可通过管道将数值传递给工具计算:
方式1:用bc拼接表达式计算
将循环输出的数值拼接成加法表达式,再传给bc处理:
#!/bin/bash Bank=4 expr="" for ((out=1; out<=$Bank; out++)) do if [ -z "$expr" ]; then expr="$out" else expr="$expr + $out" fi done echo "$expr" | bc -l
方式2:用awk直接处理循环输出
无需修改原有循环,直接通过awk读取每行数值并累加:
#!/bin/bash Bank=4 for ((out=1; out<=$Bank; out++)) do echo $out done | awk '{sum += $1} END {print sum}'
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

