您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
bash脚本编程之十四 信号捕捉及系统管理之任务计划-ping脚本
发布时间:2018-10-21 14:50:25编辑:雪饮阅读()
(1)trap单命令
ping脚本:
[root@localhost ~]# cat ./ping.sh
#!/bin/bash
#
NET=192.168.43
FILE=`mktemp /tmp/file.XXXX`
clearup(){
echo "quit..."
rm -rf $FILE
exit 1
}
trap 'clearup' INT
for I in {160..180};do
if ping -c 1 -W 1 $NET.$I &> /dev/null;then
echo "$NET.$I is up." | tee >> $FILE
else
echo "$NET.$I is down."
fi
done
[root@localhost ~]# ./ping.sh
192.168.43.160 is down.
192.168.43.161 is down.
192.168.43.162 is down.
192.168.43.163 is down.
192.168.43.164 is down.
192.168.43.165 is down.
192.168.43.166 is down.
192.168.43.167 is down.
192.168.43.168 is down.
192.168.43.169 is down.
192.168.43.170 is down.
192.168.43.172 is down.
192.168.43.173 is down.
192.168.43.174 is down.
quit...
解析:
ping:
-c:ping的次数
-W:超时时间
tee:可以将标准输出重定向到一个文件中的同时显示到标准输出中,但若用>>则无法显示到标准输出上,直接后跟一个文件参数反而可以。
(2)trap多命令:
当trap多个脚本时用分号来作为分隔符。
脚本:
[root@localhost ~]# cat ./ping.sh
#!/bin/bash
#
NET=192.168.43
FILE=`mktemp /tmp/file.XXXX`
trap 'echo "quit.";exit 1' INT
for I in {160..180};do
if ping -c 1 -W 1 $NET.$I &> /dev/null;then
echo "$NET.$I is up." | tee >> $FILE
else
echo "$NET.$I is down."
fi
done
关键字词:linux,ping脚本
相关文章
- bash脚本编程之十四 信号捕捉及系统管理之任务计划-捕
- bash脚本编程之十四 信号捕捉及系统管理之任务计划-创
- 马哥linux运维学习笔记-Linux系统裁减之四 自定义内核
- Linux系统裁减之四 自定义内核及busybox完成系统定制-
- Linux系统裁减之四 自定义内核及busybox完成系统定制-
- bash脚本编程之十三(Linux系统裁减之三) 系统函数库
- bash脚本编程之十三(Linux系统裁减之三) 系统函数库-m
- bash脚本编程之十三(Linux系统裁减之三) 系统函数库-
- 马哥linux运维学习笔记-bash脚本编程之十二(Linux系统
- bash脚本编程之十二(Linux系统裁减之二) 系统函数库-