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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值