在 ctrl+c 之后从 while 循环继续 bash 脚本
continue bash script after ctrl+c from while loop
是否可以使用 CTRL+C 退出 bashscript while 循环并继续执行脚本而不是退出它?
在我的脚本中,我有一个 while 函数和一个菜单函数。如果从 运行ning 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
未经测试,但类似这样
trap my_handler INT
my_handler() { D=0; }
trap 命令允许您拦截信号并添加您自己的信号处理。
是否可以使用 CTRL+C 退出 bashscript while 循环并继续执行脚本而不是退出它? 在我的脚本中,我有一个 while 函数和一个菜单函数。如果从 运行ning 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
未经测试,但类似这样
trap my_handler INT
my_handler() { D=0; }
trap 命令允许您拦截信号并添加您自己的信号处理。