無制限のパラメータの整数を設定してください。

無制限のパラメータの整数を設定してください。

ここで何をしているのかわかりませんが、引数として提供される整数を無制限に得ることができるはずです。

これまで私

for sum  in $@; do
        sum=$(($1 + $2 + $3))
done
echo $sum

出力は次のとおりです 5

私が理解したのは、ここで位置パラメータを取得することです。しかし、できるだけ多くのことを行うにはどうすればよいですか?

しかし、数字を追加しようとすると 1 2 3 4

何も起こらずに言うだけ 5

無限の数の整数を繰り返すことができるはずです。

答え1

これにより、for sum in $@変数が$sum順番に各値に設定されます。

簡単なテストで確認できます。

for lp in $@
do
  echo $lp
done

「10 20 30 40」を引数としてこのコマンドを実行すると、各値が順番に出力されることがわかります。

したがって、必要なのは、一時変数と値の合計を含むループです。

sum=0
for lp in $@
do
  sum=$(( sum + lp ))
done
echo $sum

関連情報