답변:
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.
Ctrl-Z하나의 변환 인스턴스를 일시 중단 할 수 있습니다. 루프가 계속해서 다른 변환 인스턴스를 시작할 수없는 이유는 없습니다. 어떤 이유로 bash루프를 중지합니다. dash루프 에서 테스트를 계속하면 다른 쉘도 동일하게 작동합니다.
zsh현재 쉘에서 실행되는 전체 루프를 일시 중단 할 수 있음).
bash개발자는 당신과 같은 의견을 가지고 있었을 것입니다. 루프를 계속하는 것은이 off 상태로 픽업 (아마도에서 동작 될 것이다 당신이 자연 보인다 쉘 과정과 손 제어 등을 중지 할 때 나는,하지만 기대 한 것이 무엇 여전히 bash그들이 추가하지 않은 경우 다른 일을하는 코드).
for i in *.txt; do echo "$i"; sleep 0.5 ; done(GNU bash는 버전 4.2.53)