나는 파일에 스크립트를 호출해야하는 시험 연습 문제에 대해 연구 중이다. 종료 상태가 0이 아닌 경우 실패 수를 1 씩 증가시키고, 그렇지 않으면 sum 변수를 1 씩 증가시킵니다. 우리가 실제로이 스크립트를 가지고 있지 않기 때문에, 나는 우리가 호출하고있는 스크립트가 compute라고 가정하고 args가 모든 파일 인수라고 가정하고, 내가 종이에 쓴 것을 정확하고 싶다.이 스크립트는 (파일을 반복 실행하고, 다른 스크립트에 인수로 전달하고, 실패를 계산하고, 성공적인 출력을 합산하기 위해) 올바르게 작성 되었습니까?
SUM=0
NUMFAILS=0
SCRIPT=./$compute
for args in *; do
num=$SCRIPT args
if (($? -ne 0)); then
NUMFAILS++
else
SUM=(($SUM+$num))
fi
done
제목 슈를 사용 shellcheck 0
((++numfails))
및((sum+=num)) || true
이set -e
스크립트를 종료 할 경우를 처리하는 데 사용한다 uld는 실제 질문 자체를 반영하는 것이지 문제에 관한 것이 아닙니다. –... btw, 일반적으로이 문제를 해결하는 올바른 방법은 필요한 계산과 합리적인 방법으로 작동하는 테스트 스크립트를 작성하는 것입니다. 해당 스크립트의 특정 문제를 격리하고 초점을 맞추지 않는 스크립트에 대한 질문은 명시 적으로 주제를 벗어나지 않은 경우 여기에서 눈살을 찌푸리게하는 경향이 있습니다. –