合計を返すためにwhileパラメータループを繰り返す方法は?

合計を返すためにwhileパラメータループを繰り返す方法は?
if test $# -lt 1
then
        echo "Please input a valid amount of numbers. Need at least one."
        exit 1
else
        args=0
        while args -eq "$#"; do
                echo $args
                shift
        done
fi

echo $sum
echo $n

私が受け取るエラーは次のとおりです。

./whileParamList: 15: ./whileParamList: args: not found

whileループは前のパラメータで増加します。+=

ベストアンサー1

Bashは数値計算用に設計されていません。これはアジャスター、C、またはPythonの意味では「言語」ではありません。詳細を見る:


私がする方法は次のとおりです。

mysum() (
  IFS=+
  bc<<<"$*"
)

おそらく:

mysum() (
  IFS=+
  echo "$(($*))"
)

次に、次のように呼び出します。

$ mysum 5 89 83 7 0 2
186

おすすめ記事