在安装期间捕获命令行终止

时间:2013-07-01 11:46:14

标签: linux bash

我正在编写一个脚本,可以在我们的服务器上自动安装ffmpeg。到目前为止它的作用。为了使脚本更加用户友好,我想在脚本中引入一些东西,使用Ctrl + C或Ctrl + Z等捕获安装的终止,并提供类似“在用户请求时终止...”之类的输出那种事实是,我不知道是否有可能通过脚本捕获这些字符。我已经搜索并发现了来自here的Bash内置陷阱命令,并想知道这是否是正确的方法..如果是,就像control_c()那样和等效的control_z()?< / p>

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

1 个答案:

答案 0 :(得分: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