조건에 전달된 인수 수를 계산하는 방법은 무엇입니까?

조건에 전달된 인수 수를 계산하는 방법은 무엇입니까?

일련의 평균을 인수로 사용하고 각 주석에 관찰을 할당하는 쉘 스크립트를 만들려고 합니다. 예를 들면 다음과 같습니다.

5개의 평균이 도입되었습니다.
2개의 댓글은 다음과 같습니다: 꽤 좋습니다.
댓글이 3개 있습니다: 흠
...

for i in $@
if [[ $# -ge 16 ]]; 
then 
    let j++
    echo " there are ${#j} notes that are : pretty good "
elif [[ $# -ge 14 ]]; 
    let k++
    echo " there are ${#k} notes that are : good "

답변1

먼저 물건 목록을 작성한 다음 결과를 개별적으로 보고하세요.

#!/bin/bash

for a do
    if (( a >= 10 && a < 12 )); then
        pass=$(( pass + 1 ))
    elif (( etc. for the other conditions ))
    fi
done

printf '%d passed (%d%%)\n' "$pass" "$(( (100*pass)/$# ))"

$#매개변수가 전달되지 않으면 루프(위와 같이 작성된 경우)가 전혀 실행되지 않으므로 테스트할 필요가 없습니다 .

관련 정보