bash でソース スクリプトを一時停止するにはどうすればよいでしょうか?

bash でソース スクリプトを一時停止するにはどうすればよいでしょうか?

Bash でプロセスを実行する場合、Ctrl + Z で一時停止できますが、ソース スクリプト ( . foo.sh) では機能しないようです。このようなスクリプトを一時停止する方法はありますか?

答え1

foo.shをsourceすると、Ctrl+Z (SUSP)は現在実行中のコマンドを停止するだけです。foo.sh を実行すると、シェルは foo.sh 内の次のコマンドを問題なく続行します。

これを回避する方法はないと思います。foo.sh 全体を一時停止できるようにするには、ソースではなくコマンドとして呼び出してサブプロセスとして実行する必要があります。

関連情報