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