文章片段引用如下:
“在有些情况下,我们不希望自己的shell脚本在运行时刻被中断,比如说我们写得shell脚本设为某一用户的默认shell,使这一用户进入系统后只能作某一项工作,如数据库备份,我们可不希望用户使用ctrl+C之类便进入到shell状态,做我们不希望做的事情。这便用到了信号处理。”
我觉得这是比较高级的做法。
根据我的习惯,我会在该用户.profile中实现这一控制。
如该shell为“test.sh”
则.profile最后两行如下:
exec test.sh
exit
这样,当用户使用CRTL+C,便会退出到Login状态。
请版主指正。
在exec test.sh执行前CTRL+C呢?
可用trap啊!
trap '' 2 3 --> 3 就是CTRL+C
接到信号CRTL+C 即不推出,也不执行