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,便可以退出

时间: 2024-10-09 02:04:43

Linux的shell脚本trap信号处理的相关文章

linux下shell脚本执行方法及exec和source命令

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. bash shell的命令分为两类:外部命令和内部命令.外部命令是通过系统调用或独立的程序实现的,如sed.awk等等.内部命令是由特殊的文件格式(.def)所实现,如cd.history.exec等等. 在说明exe和source的区别之前,先说明一下fork的概念. fork是linux的系统调用,用来创建子进程(child

Linux系统shell脚本编程——生产实战案例

Linux系统shell脚本编程--生产实战案例     在日常的生产环境中,可能会遇到需要批量检查内网目前在线的主机IP地址有哪些,还可能需要检查这些在线的主机哪些端口是开放状态,因此依靠手工来检查是可以实现,但比较费时费力,所以需要结合shell脚本来实现批量检查的功能,那么今天就来做个小小的实验. 1.开发脚本前准备 一般大家都知道,测试主机是否在线,常用的命令无非就是ping.nmap,因此,首先找一个地址来测试下ping命令的效果 [[email protected] scripts]

Linux/Unix shell 脚本中调用SQL,RMAN脚本

Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可少的技能之一.本文针对Linux/Unix shell脚本调用sql, rman 脚本给出了相关示例. 一.由shell脚本调用sql,rman脚本 [python] view plain copy print? 1.shell脚本调用sql脚本 #首先编辑sql文件 [email protecte

linux:shell脚本的一些语法

读取文件的第一行并赋值给变量 var=`head -1 filename` #`不是单引号,是Esc下方的一个按键,为命令替换符,将命令行执行结果赋给var 读取文件的第N行并赋值给变量 var=`sed -n Np filename` #把N替换成数字 逐行读取文件 while read line do echo $line done < filename linux:shell脚本的一些语法,布布扣,bubuko.com

Linux下Shell脚本输出带颜色文字

Linux下Shell脚本输出带颜色文字 文本终端的颜色可以使用"ANSI非常规字符序列"来生成. 举例:    "echo -e \033[44;37;5m BLUE \033[0m" "echo -e \033[44;37;5m BLUE \033[0m BLACK" 需要修改的地方是红色带下划线的部分,其中[***m部分的内容换成下面的数字,后面的内容是自己想要上色的内容. 以上命令设置作用如下:背景色为蓝色,前景色为白色,字体闪烁,输出字

Linux常用Shell脚本

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

linux 之shell脚本练习

一. #!/bin/bash#自动添加用户,并使初始密码为用户账户名,且用户登录时强制其更改密码i=1while [ $i -le 15 ]do if [ $i -le 9 ]  then  useradd user0$i  echo "user0$i" | passwd --stdin user0$i &> /dev/null  chage -d 0 user0$i else  useradd user$i  echo "user$i" | pass

详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息对话框弹出,需要你的输入.对话框的类型有密码箱,检查表,菜单,等等.他们可以引导你以一种直观的方式输入必要的信息,使用这样的用户友好的对话框的好处是显而易见的.如下图所示: 当你写一个交互式shell脚本,你可以使用这样的对话框来接受用户的输入.whiptail可以在shell脚本中创建基于终端的对

linux学习—shell脚本知识点总结

Shell脚本 --Shell脚本有点像早期的批处理文件,将一些命令汇总起来一次执行,但Shell有更强大的功能,可以类似于程序的编写,不需要编译就能执行,使用起来很方便,可以简化我们日常的管理工作. 目录 什么是Shell 脚本的运行方法 #!(读shabang)的作用详解 结合案例分析变量类型 特殊变量及其[email protected] $*的区别 退出状态 算数运算 test和[ expression ]判断 一.什么是Shell 我们知道管理整个计算机硬件的其实是核心(kernel)