我想製作一個 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