当第一个命令被 CTRL+C 中断时应该执行操作的 Bash 脚本

当第一个命令被 CTRL+C 中断时应该执行操作的 Bash 脚本

我想编写一个 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

相关内容