簡単なタスクを自動化する bash スクリプトを作成したいと考えています。このタスクprogram
では、ユーザーが CTRL+C を押すまで何かを実行する (私が作成したものではありません) を実行します。その後、 を実行する必要がありますprocess the output
。私は次のように書きました:
#!/bin/bash
program
process the output
program
期待通りに起動しますが、CTRL+C を押してもprocess the output
実行されません。 CTRL+C を押すとスクリプトが完全に終了すると思います。
どうすれば必要なことを達成できるでしょうか?
答え1
SIGINT のシグナル ハンドラを設定します。
trap "echo Ctrl+C received" INT
program
trap - INT
process the output