sem
여러 셸 스크립트를 병렬로 실행 하고 실패한 명령 수를 얻고 싶습니다 . 그러나 종료 코드는 항상 0입니다.
sem bash -c 'exit 0'
echo $? # => 0
sem bash -c 'exit 1'
echo $? # => 0
sem --wait
echo $? # => 0
카운트를 어떻게 알 수 있나요?
답변1
당신은 할 수 없습니다. sem
프로세스와 통신하지 않으므로 종료 값을 얻을 수 없습니다.
이것을 원하시면 를 사용하세요 parallel
.
$ parallel "bash -c 'exit '{}" ::: 0 1 2 3 4 0
$ echo $?
4
이는 100까지 작동합니다. 101은 100개 이상의 작업이 실패했음을 의미합니다.
실패한 작업이 이보다 많으면 --joblog
해당 열의 실패 횟수를 사용하여 계산합니다 Exitval
.