Linux的shell脚本trap信号处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的shell脚本trap信号处理相关的知识,希望对你有一定的参考价值。

一.trap

1.trap是一个shell内建命令,它用来在脚本中指定信号如何处理。比如,按Ctrl+C会使脚本终止执行,实际上系统发送了SIGINT信号给脚本进 程,SIGINT信号的默认处理方式就是退出程序。如果要在Ctrl+C不退出程序,那么就得使用trap命令来指定一下SIGINT的处理方式了。 trap命令不仅仅处理Linux信号,还能对脚本退出(EXIT)、调试(DEBUG)、错误(ERR)、返回(RETURN)等情况指定处理方式。

系统中的信号:

技术分享


2.trap的设置和取消

技术分享

技术分享


技术分享


3.trap的练习脚本

(1)脚本执行过程中无法取消,结束关闭

技术分享

技术分享


(2)结束显示byebye结尾不移除trap

技术分享


结尾移除trap:

技术分享


(3)执行找出westos开头的文件的脚本,终止脚本后删除找出的文件,做这个实验脚本要不停的创建文件

xargs:

技术分享



技术分享

技术分享


4.tarp应用之服务跳板机的设置

(1)配置环境:

rhel 6.5

server1:172.25.29.1 跳板机,用户为jump

server2:172.25.29.2 远程登陆机

server3:172.25.29.3 远程登陆机


(2)配置

server1、server2、server3都创建jump用户,设置密码为westos

技术分享


(3)server1、server2、server3之间创建免密登陆

技术分享

技术分享

技术分享


(4)设置脚本,放置开机启动的脚本目录里,内容为只要不是root登陆,都执行/mnt/trap/5.sh的脚本

技术分享


技术分享



(5)在/mnt/trap下配置jump.sh主脚本

技术分享

技术分享

技术分享


(6)测试,在server1上切换到jump用户,界面立马切换执行jump.sh主脚本

注:进入跳板机,不行执行别的操作,只能远程登陆,除非输入指定选项和密码退出

技术分享

输入1,远程登陆server2

技术分享

输入2,远程登陆server3

技术分享


输入admin和密码westos,便可以退出

技术分享




以上是关于Linux的shell脚本trap信号处理的主要内容,如果未能解决你的问题,请参考以下文章

Linux信号和trap命令的使用

shell脚本进阶之信号的捕捉

shell从入门到精通(10)信号捕获和处理

每日一题shell脚本知识点

shell信号捕捉命令 trap

Linux命令——trap