나는 bash에서 실행한다:
for i in ull-*.pbm; do convert $i tmp2/$i.pdf ; done
나는 Ctrl-Z
실행 중이고 그 다음에 fg
는 작업 ID가 있습니다. 그러나 나머지 반복은 완료될 때까지 계속되지 않습니다. 이유를 알고 싶습니다.
답변1
Ctrl-Z
현재 실행 중인 프로세스를 일시 중지합니다. 표현에 있어서
for i in ull-*.pbm; do convert "$i" "tmp2/$i.pdf" ; done
convert
for
(예: , 및 ) 를 제외한 모든 명령은 in
현재 쉘에서 실행되는 키워드이며 do
쉘은 자체적으로 일시중단될 수 없습니다(어차피 이는 사용자의 의도가 아닙니다). 따라서 클릭하고 명령이 중단되면 더 이상 처리할 것이 없기 때문에 루프가 종료됩니다.done
bash
Ctrl-Z
convert
전체 루프를 일시 중단하려면 서브셸 환경에서 실행하면 됩니다.
(for i in ull-*.pbm; do convert "$i" "tmp2/$i.pdf" ; done)
현재 쉘 내에서 전체 루프를 걸 수 있는 유일한 쉘은 입니다 zsh
.