複数の演算子で3つ以上の数値を追加すると問題が発生します。 (私はexprの、BC、2つ以上の変数を追加できません
SUM=$(($S1 + $S2 + $S3))
や他の多くの形態を試みたが、私は3つの変数を持っている時はいつでも、私はこのエラーを取得します。
expr: non-integer argument
expr: syntax error
これは私が2つの変数(正常に動作します)でそれを行うときであります
#!/bin/sh
FILE=$1
while read -r SID FIRST LAST S1 S2 S3
do
SUM=$(expr $S1 + $S2)
AVG=$(expr $SUM/3)
printf '%d [%d] %s, %s\n' "$AVG" "$SID" "$LAST" "$FIRST"
done < "$FILE" | sort
と私は3つの変数をするとき(動作しない)
#!/bin/sh
FILE=$1
while read -r SID FIRST LAST S1 S2 S3
do
SUM=$(expr $S1 + $S2 + $S3)
AVG=$(expr $SUM/3)
printf '%d [%d] %s, %s\n' "$AVG" "$SID" "$LAST" "$FIRST"
done < "$FILE" | sort
expr: non-integer argument
expr: syntax error
txtファイル
123456789 Lee Johnson 72 85 90
999999999 Jaime Smith 90 92 91
888111818 JC Forney 100 81 97
290010111 Terry Lee 100 99 100
199144454 Tracey Camp 77 84 84
299226663 Laney Camp 70 74 71
434401929 Skyler Camp 78 81 82
928441032 Jess Forester 85 80 82
928441032 Chris Forester 97 94 89
あなたはS2 + S3を試しましたか? – John3136
絶対に3つの整数を追加できます。これは、すべての変数が整数ではないことを意味します。 –
ところで、あなたのフォーマットに合ったデータファイルを作成するために答えをテストしたい人はいないように、質問自体にエラーを再現するのに必要なすべてのデータを含むことを意味します。 –