12、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for 版本)
#!/bin/bash
# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机
#for
for i in {1..254}
do
ping ‐c 2 ‐i 0.3 ‐W 1 192.168.4.$i &>/dev/null
#-c<完成次数> 设置完成要求回应的次数
#-i<间隔秒数> 指定收发信息的间隔时间
#-w执行的最后期限,也就是执行的时间
#&>/dev/null是指标准输出和错误输出都输出到/dev/null上,而不在界面上显示
if [ $? -eq 0 ];then#$?获取上一个命令的退出状态/获取函数返回值
echo "192.168.4.$i is up"
else
echo "192.168.4.$i is down"
fi
done
13、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(while 版本)
#!/bin/bash
# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机
# 状态(while 版本)
i=1
while [ $i -le 254 ]
do
ping ‐c 2 ‐i 0.3 ‐W 1 192.168.4.$i &>/dev/null
#-c<完成次数> 设置完成要求回应的次数
#-i<间隔秒数> 指定收发信息的间隔时间
#-w执行的最后期限,也就是执行的时间
#&>/dev/null是指标准输出和错误输出都输出到/dev/null上,而不在界面上显示
if [ $? -eq 0 ];then#$?获取上一个命令的退出状态/获取函数返回值
echo "192.168.4.$i is up"
else
echo "192.168.4.$i is down"
fi
let i++
done
14、编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态(多进程版)
#!/bin/bash
# 编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机
# 多进程
kping(){
ping ‐c 2 ‐i 0.3 ‐W 1 $1 &>/dev/null
if [ $? -eq 0 ];then
echo "$1 is up"
else
echo "$1 is down"
fi
}
for i in {1..254}
do
kping 192.168.4.$i &#使用&,将执行的函数放入后台执行
#这样可以不需要等待ping第一台主机的回应就可以继续并发ping第二台主机
done
7、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用字串对比版本)
#!/bin/bash
# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用字串对比版本)
if [ $USER == "root" ]
then
yum ‐y install vsftpd
#此处yum我在百度上下载并安装了相关功能,但是失败了
else
echo "您不是管理员,没有权限安装软件"
fi
8、检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用 UID 数字对比版本)
#!/bin/bash
# 检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用 UID 数字对比版本)
if [ $UID -eq 0 ];then
yum ‐y install vsftpd
#此处yum我仍未正常使用,但else是可行的
else
echo "您不是管理员,没有权限安装软件"
fi