여러 연산자를 사용하여 3 개 이상의 숫자를 추가 할 때마다 문제가 있습니다. (I는 EXPR, BC,2 개 이상의 변수를 추가 할 수 없습니다.
SUM=$(($S1 + $S2 + $S3))
많은 다른 형태의 시도,하지만 난 3 개 변수를 가질 때마다 나는이 오류가 발생합니다.
expr: non-integer argument
expr: syntax error
이 내가 두 변수 (잘 작동)와 함께 할 때입니다
#!/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
,451,515,
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
Nope. 절대적으로 3 개의 정수를 추가 할 수 있습니다. 이것은 모든 변수가 정수가 아니라는 것을 의미합니다. –
그런데, 형식에 맞는 데이터 파일을 만들기 위해 자신의 대답을 테스트하려는 사람이 필요하기보다는 질문에 오류를 재현하는 데 필요한 모든 데이터를 포함하는 것이 좋습니다. –