一、ping主机存活率,read从键盘读入
#!/usr/bin/env bash
stty erase ^H #read -p的时候如果写错可以随意删除
read -p "输入ip前三位网络位:" ip #从键盘输入值,这个值最好不要带小数点
for i in {1..254}
do
ping -c1 ${ip}.$i &>/dev/null
if [[ $? -ne 0 ]];then
echo "${ip}.$i不通畅"
#${ip}.$i >> ip.txt #追加到一个文本内,记得每回清空,可选项
else
echo "${ip}.$i通畅"
fi
done
二、ping主机存活率,位置变量(参数赋值)
#!/usr/bin/env bash
stty erase ^H
for i in {1..254}
do
ping -c1 ${1}.$i &>/dev/null
if [[ $? -ne 0 ]];then
echo "${1}.$i不通畅"
#${ip}.$i >> ip.txt #追加到一个文本内,记得每回清空,可选项
else
echo "${1}.$i通畅"
fi
done
三、通过位置变量来看一下与它之间的连通性
#!/usr/bin/env bash
ping -c1 $1 &>/dev/null
if [ $? -eq 0 ];then
echo "与${1}之间通信正常"
else
echo "与${1}之间通信不正常"
fi
四、for循环 ,ping测试指定网段的主机
网段由位置变量生成,例如用户输入192.168.2 ,则ping 192.168.2.120 — 192.168.2.130,ip范围可以修改
UP: /tmp/host_up.txt
Down: /tmp/host_down.txt
#!/usr/bin/env bash
>/tmp/host_up.txt
>/tmp/host_down.txt
for i in {120..130}
do
ping -c1 $1.$i &>/dev/null
if [[ $? -eq 0 ]];then
echo "${1}.${i}通畅" >>/tmp/host_up.txt
else
echo "${1}.${i}不通畅" >>/tmp/host_down.txt
fi
done
~
公司专用shell脚本
>/tmp/host_up.txt
>/tmp/host_down.txt
for i in `cat /tmp/ip.txt`;
do
ping -c1 $1$i &>/dev/null
if [[ $? -eq 0 ]];then
echo "${1}${i}通畅" >>/tmp/host_up.txt
else
echo "${1}${i}不通畅" >>/tmp/host_down.txt
fi
done
网友评论