使用 CTRL + C 循环时是否可以退出bashscript并继续在脚本中而不是退出? 在我的脚本中,我有一个while函数和一个菜单函数。如果从正在运行的while循环中按下 CTRL + C ,我想重新运行菜单功能。
#!/bin/bash
function while_loop {
D=1
while [ "1" == $D ]
do
sleep 5
echo $D
done
}
function main_menu {
M="i"
while [ "$M" != "e" ]; do
echo -e "auto update:\ta"
echo -e "exit:\t\te"
read -n 1 M
case $M in
a) while_loop
;;
e)
exit 1
;;
*)
echo "Wrong input!"
esac
done
}
main_menu
答案 0 :(得分:1)
未经测试,但有类似的内容
trap my_handler INT
my_handler() { D=0; }
trap命令允许您拦截信号并添加自己的信号处理。