如何防止用户使用ctrl-c来停止脚本?

时间:2016-05-10 20:46:48

标签: bash shell

我在.bash_profile中加载了一个脚本,只要用户打开终端窗口,此脚本就会要求输入正确的密码。如果用户输入了错误的代码,脚本将运行exit以停止当前终端。

if [ $code = "980425" ]; then
    echo hello
else
    exit
fi

但我意识到用户总是可以使用 ctrl - c 停止脚本并进入终端。 如何避免?

1 个答案:

答案 0 :(得分:8)

您始终可以捕获SIGINT

trap 'echo got SIGINT' SIGINT

完成后,再次使用

重新安装默认处理程序
trap SIGINT

有关详细信息,请参阅POSIX spec for trap。这适用于所有Bourne shell,而不仅仅是bash。