다음 줄이 포함된 스크립트가 있습니다.
eval for i in \{"$1".."$2"\}\; do [ ! -e "$3"/\$i.\* ] \&\& echo \"\$i\" \; done \| shuf \| mycommand "$3"
즉, 먼저 숫자로 명명된 파일이 없는 일련의 숫자를 만들고, 해당 파일에 파이프한 다음 ELF 실행 파일 shuf
에 파이프합니다 .mycommand
대부분의 경우 스크립트는 정상적으로 실행되지만 때로는 segfault 오류가 발생합니다. 즉, segfault 오류가 재현되지 않습니다.
$ myscript 0001 734 XMJ
/home/tim/bin/myscript: line 25: 10170 Exit 1 for i in {0001..734};
do
[ ! -e XMJ/$i.* ] && echo "$i";
done
10171 Done | shuf
10172 Segmentation fault (core dumped) | mycommand XMJ
이는 런타임으로 인해 segfault가 발생한다는 의미입니까 shuf
?
오류 메시지에서 무엇을 추론하고 수정할 수 있나요?
감사해요.