1.为了不让上线的服务器,不与线网的IP地址相冲突,因此需要写出一个shell脚本,把20.0.0.0/24网段在线的IP地址和不在线的IP地址列出来,分别保存到up和down文件中。
#!/bin/bash
for ((i=1; i<=254; i++)) //遍历整个网段
do
IP=20.0.0.$i
ping -c3 -i0.2 -W3 $IP &>/dev/null //发送三个数据包,间隔为0.2s,等待时间3s
if [ $? -eq 0 ];then //判断上一条命令是否执行成功
echo "当前主机$IP在线"
echo $IP >>up.txt //将ping通的地址存到up.txt的文件中
else
echo "当前主机$IP不在线" //将ping通的地址存到down.txt的文件中
echo $IP >>down.txt
fi
done
2.间隔一段时间,自动查看某一用户是否登录系统。本例用3s的间隔,使用while循环语句说明。
#!/bin/bash
usr=$1 //从命令行中获取用户名称
while : //设置一个永远达不成的条件,做成死循环,就可以一直循环
do
if who |grep -wq $usr
then
echo "$usr login"
else
echo "$usr not login"
fi
sleep 3 //间隔3s循环一次
done