43. Shell脚本的编写——实现检测同一个机房里的20台服务器哪些是通的,能够连通的输出主机ip

Lesson43 Shell脚本的编写——实现检测同一个机房里的20台服务器哪些是通的,能够连通的输出主机ip

vim host_ip.sh   #编写host_ip.sh文件

在这里插入图片描述

[ -e "/mnt/host_ip" ]&&{        #文件是否存在
	echo /mnt/host_ip is exist!  #若存在,直接输出/mnt/host_ip is exist!
	echo "[O]verwrite [B]ackup [S]kip"  #提供给用户选项,询问用户要进行何种操作
	read -p "What action do you want to do:" WORD   #从用户节界面传递变量WORD
	ACTION=`echo $WORD | tr 'a-z' 'A-Z'`     #将变量WORD的小写变成大写(忽略大小写)
	[ “$ACTION=O]&&{       #当获取的变量为O时
   rm -fr /mnt/host_ip         #删除/mnt/host_ip原文件
}   
	[ “$ACTION=B]&&{         #当获取的变量为B时
   mv /mnt/host_ip /mnt/host_ip.back       #将已经存在的/mnt/host_ip文件重命名为/mnt/host_ip.back
}
	[ “$ACTION=S]&&{            #当获取的变量为S时
	exit 0            #直接退出
}   
for ip in {1..20}         #获取能够ping通主机的ip的主函数
do
	ping -c1 -w1 172.25.254.$ip &>/dev/null &&{     #ping一次,等待一秒,将能够ping通的ip输出到/mnt/host_ip	 >>表示追加,>表示覆盖
	echo 172.25.254.$ip >> /mnt/host_ip	
}
done

在这里插入图片描述

在这里插入图片描述
执行脚本,可以看到选项出现,等待用户输入选项
在这里插入图片描述
当用户输入o时(不区分大小写)
在这里插入图片描述
可以看到,重写了/mnt/host_ip文件,此文件中存放能ping通本主机的ip

在这里插入图片描述
当用户输入b时(不区分大小写),可以看到,生成了host_ip.back文件,此文件中存放能ping通本主机的ip

在这里插入图片描述
当用户输入s时(不区分大小写),直接退出,不做任何操作
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值