#! /bin/bash
sum=0
for number in $*
do
x=$((sum + number))
echo $x
done
"add"というスクリプトを作成しようとしましたが、実行時に位置パラメータが追加されます。数字を追加するのではなく、ループが通常通りに表示するだけです。例えば。bashループ(for)で算術演算を行う方法がわからない
$ add 1 2 3 4 5 6
1
2
3
4
5
6
私は間違っていますか?
ところで、 '$ *の数は'一般のコードです匂い - 空白を含むエントリ、グロブとして解釈されるエントリ、その他の場合には問題に遭遇します。それ以外の理由がない限り、 'for number 'を使用します。 "$ @"で数字のために 'do'または'; (両方とも完全に同等です)。これを自動的に検出するhttp://shellcheck.net/も参照してください。 –