linux shell跳板机,用shell开发跳板机

信号列表:

在linux中和信号相关的常见命令为kill及trap命令,下来如何利用trap控制跳板机脚本来使用命令:

命令:kill  -l 和 trap  -l

1a77882f24fcd745d577e2c63346a725.png

企业实战中linux系统的重要信号及说明

HUP(1)         挂起

INT(2)           中断

OUIT(3)        退出

ABRT(6)        中止

ALRM(14)     报警

TERM(15)     终止

TSTP(20)       停止进程的运行,但该信号可能被处理或忽略

17.2使用trap控制信号

trap命令用户指定在接收到信号后采取行动,trap常见的一种用途是在脚本程序被中断时完成清理工作,或者屏蔽用户非法使用某些信号,在使用信号名时需要省略SIC前缀。

#trap '命令;命令'  信号编号

或者

#trap   '命令'  信号名

测试:

此处的信号名为2(INT),在使用crtl+c时就是出现echo后面的结果

532265be647f7bbe570944c0c4e2f6cf.png

命令处如果使用 ' ' 表示屏蔽ctrl+c功能,':' 表示开启功能

673b7158c869ac2ad9199a9eab111c20.png

范例17:同时处理多个信号    这里所有的屏蔽0-60的所有数字信号,没看懂这里

66f5d54f922f98607f05428ce8a7c4f5.png

下来时trap生产应用案例

大体意思时在脚本中放入trap命令。执行循环,然后按ctrl+c执行find那条删除命令#!/bin/bash

#author:huipenggang

#mail:1159291043@qq.com

trap "find /tmp/xpg  -type f -name "hui_*" | xargs rm -f && exit" 2

while true

do

touch /tmp/xpg/hui_"`date +%F-%T`"

sleep 4

ls -l /tmp/xpg

done

#ls /tmp/xpg

执行结果:

324ef5c8ef0b8527fab97bc09ff55a11.png

开发跳板机脚本:

前提是要在两台上面做免密认证:#!/bin/bash

aa() {

cat <

1. root 192.168.116.135

2. root 192.168.116.136

*. exit

EOF

}

fu() {

for ((i=1;i<4;i++))

do

echo -n "."

sleep 1

done

#echo -ne "\n"------mashang------" "

}

bb() {

trap " " INT EXIT TSTP

aa

echo "---------mashang-----------"

fu

read -p "your choices:" num

case $num in

1)

ssh 192.168.116.135

;;

2)

ssh 192.168.116.136

;;

3)

echo "this is bad"

esac

}

bb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438760.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[你必须知道的.NET] 第五回:深入浅出关键字---把new说透

本文将介绍以下内容&#xff1a; 面向对象基本概念new关键字深入浅出对象创建的内存管理 1. 引言 园子里好像没有或者很少把new关键字拿出来说的&#xff0c;那我就占个先机吧&#xff0c;呵呵。那么&#xff0c;我们到底有必要将一个关键字拿出来长篇大论吗&#xff1f;看来…

linux tcp server开源,GitHub - 06linux/cellnet: 高性能,简单,方便的开源服务器网络库...

cellnetcellnet是一个高性能&#xff0c;简单&#xff0c;方便的开源服务器网络库自由混合编码&#xff0c;业务代码无需调整。TCP和html5的应用都可以直接使用cellnet迅速搭建服务器框架。与Java的Netty或Mina网络库类似的Handler机制将给予强大定制功能。特性数据协议支持混合…

[你必须知道的.NET] 第六回:深入浅出关键字---base和this

本文将介绍以下内容&#xff1a; 面向对象基本概念base关键字深入浅出this关键字深入浅出1. 引言 new关键字引起了大家的不少关注&#xff0c;尤其感谢Anders Liu的补充&#xff0c;让我感觉博客园赋予的交流平台真的无所不在。所以&#xff0c;我们就有必要继续这个话题&…

分治算法求最大最小值c语言,[蓝桥杯][算法提高VIP]和最大子序列 (C语言代码)分治法...

解题思路:注意事项:参考代码:#include #include #include #include #include #include using namespace std;const int maxn 100001;int a[maxn];int maxsum(int *A, int x, int y) //返回左闭右开区间[x,y)中的最大连续和{int v, L, R, maxs;if(y-x 1) return A[x];int m …

[你必须知道的.NET] 第七回:品味类型---从通用类型系统开始

本文将介绍以下内容&#xff1a; .NET 基础架构概念 类型基础通用类型系统CLI、CTS、CLS的关系简述1. 引言 本文不是连环画&#xff0c;之所以在开篇以图形的形式来展示本文主题&#xff0c;其实就是想更加特别的强调这几个概念的重要性和关注度&#xff0c;同时希望从剖析其关…

二叉排序树查找的c语言程序,C语言二叉排序(搜索)树实例

本文实例为大家分享了C语言二叉排序(搜索)树实例代码&#xff0c;供大家参考&#xff0c;具体内容如下/**1.实现了递归 非递归插入(创建)二叉排序(搜索)树&#xff1b;分别对应Insert_BinSNode(TBinSNode* T,int k),NonRecursion_Insert_BinSNode(TBinSNode* T,int k);2.实现了…

[你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理

本文将介绍以下内容&#xff1a; 类型的基本概念 值类型深入引用类型深入值类型与引用类型的比较及应用1. 引言 买了新本本&#xff0c;忙了好几天系统&#xff0c;终于开始了对值类型和引用类型做个全面的讲述了&#xff0c;本系列开篇之时就是因为想写这个主题&#xff0c;…

linux init 7,Linux 之 init命令

一、init是Linux系统操作中不可缺少的程序之一。所谓的init进程&#xff0c;它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存&#xff0c;开始运行&#xff0c;并已初始化所有的设备驱动程序和数据结构等)之后&#xff0c;就通过启动一个用户级程序init的方式&am…

[你必须知道的.NET]第九回:品味类型---值类型与引用类型(中)-规则无边

接上回[第八回&#xff1a;品味类型---值类型与引用类型&#xff08;上&#xff09;&#xff0d;内存有理]的探讨&#xff0c;继续我们关注值类型和引用类型的话题。 本文将介绍以下内容&#xff1a; 类型的基本概念 值类型深入引用类型深入值类型与引用类型的比较及应用1. 引…

md5字符串输入c语言,请问C语言怎么实现对一长串字符进行MD5加密?

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼typedef unsigned char *POINTER;typedef unsigned short int UINT2;typedef unsigned long int UINT4;#define S11 7#define S12 12#define S13 17#define S14 22#define S21 5#define S22 9#define S23 14#define S24 20#define …

[你必须知道的.NET]第十回:品味类型---值类型与引用类型(下)-应用征途

本文将介绍以下内容&#xff1a; 类型的基本概念 值类型深入引用类型深入值类型与引用类型的比较及应用 [下载]&#xff1a;[类型示例代码] 1. 引言 值类型与引用类型的话题经过了两个回合&#xff08;[第八回&#xff1a;品味类型---值类型与引用类型&#xff08;上&#xf…

lfsr算法c语言,求助:如何用C语言实现LFSR加密

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼includevoidLFSR(unsigned char pzt[],unsigned char pjg[],int n){unsigned char t0;int c0,i;for(i0;it^(pzt[i]&pjg[i]);t^((t<<1)^(t<<2)^(t<<3)^(t<<4)^(t<<5)^(t<<6)^(t<<7))…

c语言提供了三种预处理命令,9、C语言之预处理命令

预处理命令基本概念&#xff1a;ANSI C标准规定可以在C源程序中加入一些“预处理命令”&#xff0c;以改进程序设计环境&#xff0c;提高编程效率。这些预处理命令是由ANSI C同一规定的&#xff0c;但是它们不是C语言本身的组成部分&#xff0c;不能直接对它们进行编译(因为编译…

[你必须知道的.NET]第十一回:参数之惑---传递的艺术(上)

本文将介绍以下内容&#xff1a; 按值传递与按引用传递深论ref和out比较 参数应用浅析 1. 引言 接上回《第九回&#xff1a;品味类型---值类型与引用类型&#xff08;中&#xff09;&#xff0d;规则无边》中&#xff0c;对值类型和引用类型的讨论&#xff0c;其中关于string…

[你必须知道的.NET]第十二回:参数之惑---传递的艺术(下)

本文将介绍以下内容&#xff1a; 按值传递与按引用传递深论ref和out比较 参数应用浅析 接上篇继续&#xff0c;『第十一回&#xff1a;参数之惑---传递的艺术&#xff08;上&#xff09;』 4.2 引用类型参数的按值传递 当传递的参数为引用类型时&#xff0c;传递和操作的是指…

android 自定义相机源码,Android 自定义相机及分析源码

Android 自定义相机及分析源码使用Android 系统相机的方法&#xff1a;要想让应用有相机的action&#xff0c;咱们就必须在清单文件中做一些声明&#xff0c;好让系统知道&#xff0c;如下action的作用就是声明action的类型&#xff0c;便于Intent的使用&#xff0c;category的…

[你必须知道的.NET]第十三回:从Hello, world开始认识IL

本文将介绍以下内容&#xff1a; IL代码分析方法 Hello, world历史 .NET学习方法论1. 引言 1988年Brian W. Kernighan和Dennis M. Ritchie合著了软件史上的经典巨著《The C programming Language》&#xff0c;我推荐所有的程序人都有机会重温这本历史上的经典之作。从那时起…

android服务器怎么做的,[Android]Android 制作一个HTTP服务器应用

上传文件开始想用apache的开源库获取文件&#xff0c;但是失败了&#xff0c;要么文件不全&#xff0c;要么就完全为空&#xff0c;还是自己写。文件上传请求头的部分内容contentType:multipart/form-data; boundary----WebKitFormBoundaryHpUAY0qCryu0Oc7o我们需要获取boundar…

[你必须知道的.NET]第十四回:认识IL代码---从开始到现在

本文将介绍以下内容&#xff1a; IL代码分析方法 IL命令解析 .NET学习方法论 1. 引言 自从『你必须知道.NET』系列开篇以来&#xff0c;受到大家很多的关注和支持&#xff0c;给予了anytao巨大的鼓励和动力。俱往昔&#xff0c;我发现很多的园友都把…

android 获取服务对象,android 如何取得正在运行的service对象

在写有关推送的代码&#xff0c;用的长连接的方式。具体逻辑&#xff1a;登录时 启service&#xff0c;service中启一个线程&#xff0c;线程中构建一个CommunicateManegr对象&#xff0c;此对象里面有一个BlockingDeque双端队列处理包的顺序问题&#xff0c; 还有若干线程分别…