回答:
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-Z1つの変換インスタンスを中断するだけで済みます。ループが続行できず、別のインスタンスを開始できなかった理由はありません。何らかの理由bashでループが停止します。dashループでテストを続けると、他のシェルもおそらく同じことをします。
zshは、現在のシェルで実行されているループ全体を中断できます)。
bash開発者はおそらくあなたと同じ意見を持っていました。しかし、ループを継続することは私が期待していたことですが、プロセスを停止してシェルに戻ってハンドコントロールすると、中断したところから再開するのが自然なようです(bash追加しない場合の動作になる可能性があります)他の何かをするためのコード)。
for i in *.txt; do echo "$i"; sleep 0.5 ; done(GNU bash、バージョン4.2.53)