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

Fra*_*Joe 4 bash shell

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

if [ $code = "980425" ]; then
    echo hello
else
    exit
fi
Run Code Online (Sandbox Code Playgroud)

但我意识到用户总是可以使用ctrl- c 停止脚本并进入终端.怎么避免呢?

Jen*_*ens 8

你可以随时陷阱SIGINT:

trap 'echo got SIGINT' SIGINT
Run Code Online (Sandbox Code Playgroud)

完成后,再次使用重新安装默认处理程序

trap SIGINT
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅陷阱的POSIX规范.这适用于所有Bourne shell,而不仅仅是bash.