在while循环中按ctrl + c后继续bash脚本

时间:2015-10-11 11:36:22

标签: bash while-loop continue ctrl

使用 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

1 个答案:

答案 0 :(得分:1)

未经测试,但有类似的内容

trap my_handler INT
my_handler() { D=0; }

trap命令允许您拦截信号并添加自己的信号处理。