我有这个Bash脚本,在第16行有一个问题。 如何获取第15行之前的结果并添加 变成第16行中的变量?

#!/bin/bash

num=0
metab=0

for ((i=1; i<=2; i++)); do
    for j in `ls output-$i-*`; do
        echo "$j"

        metab=$(cat $j|grep EndBuffer|awk '{sum+=$2} END { print sum/120}') (line15)
        num= $num + $metab   (line16)
    done
    echo "$num"
 done

当前回答

 #!/bin/bash
read X
read Y
echo "$(($X+$Y))"

其他回答

#!/bin/bash

num=0
metab=0

for ((i=1; i<=2; i++)); do      
    for j in `ls output-$i-*`; do
        echo "$j"

        metab=$(cat $j|grep EndBuffer|awk '{sum+=$2} END { print sum/120}') (line15)
        let num=num+metab (line 16)
    done
    echo "$num"
done
 #!/bin/bash
read X
read Y
echo "$(($X+$Y))"

我也很喜欢这个方法。有更少的杂乱:

count=$[count+1]

使用$(())算术展开。

num=$(( $num + $metab ))

见第13章。算术展开以获得更多信息。

我总是忘记语法,所以我来到谷歌搜索,但我从来没有找到一个我熟悉的:P。这对我来说是最干净的,更符合我对其他语言的期望。

i=0
((i++))

echo $i;