다음 줄이 있습니다.
for length in "$(ls $OUT_SAMPLE)"
do $CODES/transform_into_line2.rb -c $OUT_SAMPLE -p 0 -f $length &
done
따라서 for 루프를 병렬화해야 하지만 어떻게든 여전히 순차적으로 실행됩니다. 그러나 다음을 수행하면:
$CODES/transform_into_line2.rb -c $OUT_SAMPLE -p 0 -f blabla.txt & $CODES/transform_into_line2.rb -c $OUT_SAMPLE -p 0 -f blabla2.txt
병렬로 실행됩니다. for 루프가 작동하지 않는 이유는 무엇입니까?
답변1
for length in "$(ls $OUT_SAMPLE)"
다시 작성해야합니다
for length in $(ls $OUT_SAMPLE)
실제로 단일 값을 반복하고 있습니다.
루프하는 값을 확인할 수 있습니다.
for length in "$(ls $OUT_SAMPLE)" ; do
echo x$length
done
큰따옴표를 사용하지 않고 동일한 접근 방식을 시도해 보세요!