無限に繰り返されるプログラムを実行しようとして強制的に中断する必要があります。プログラムを実行した後に削除したい。いくつかのステップを踏むだけです。
./MyProg
- Control+C
rm MyProg
ところで、この作業を頻繁に行う必要があるため、ステップ1と3を一行に入れて記録をより簡単に覚えるようにしたいと思います。
私は次のことを試しましたが、すべてのケースでControl+ Cbreakは実行プログラムだけでなく行全体を終了するため、ファイルは削除されません。
./MyProg && rm MyProg
./MyProg; rm MyProg
./MyProg || rm MyProg
コマンドライン全体に影響を与えずに実行中のプログラムにのみ割り込みを影響させる方法は?
答え1
trap
プログラムが終了したら、プログラム内のメカニズムを使用してクリーンアップMyProg
できます。
trap "rm MyProg" EXIT
MyProgがbashスクリプトではない場合は、プログラムをbashスクリプトにラップできます。