
私は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
。