1

我正在编写一个脚本,它可以自动在我们的服务器上安装 ffmpeg。到目前为止它有效。为了使脚本对用户更友好,我想在脚本中引入一些内容,该脚本使用 Ctrl+C 或 Ctrl+Z 等捕获安装的终止,并给出类似“Terminating at user request..”之类的输出。那种。问题是,我不知道是否可以通过脚本捕获这些字符。我从这里搜索并找到了有关 Bash 内置陷阱命令的信息,并想知道这是否是正确的方法。如果是,就像 control_c() 和等效的 control_z() 一样吗?

任何帮助表示赞赏。提前致谢

4

1 回答 1

2

是的,使用trap是要走的路

control_c()
# run if user hits control-c
{
  echo -en "\n*** Ouch! Exiting ***\n"
  cleanup
  exit $?
}

# trap keyboard interrupt (control-c)
trap control_c SIGINT

并捕获使用Control-Z键发送的信号,您需要捕获SIGTSTP信号:

control_z()
{
  echo -e "\n*** Suspending asked... Exiting! ***"
  cleanup
  exit $?
}

trap control_z SIGTSTP
于 2013-07-01T11:54:42.807 回答