一、for循环语句
1、根据姓名列表批量添加用户
步骤:首先创建一个姓名列表 vim /root/users.txt 然后创建脚本vim uaddfor.sh批量添加用户
授权并执行后查看用户是否已创建
2、根据ip地址列表检查主机状态
步骤:首先创建一个ip地址列表文件 vim /root/padds.txt 然后创建脚本vim chkhosts.sh
授权并执行
二、while循环语句
1、批量添加规律编号的用户
步骤:创建vim uaddwhile.sh脚本
授权并执行后查看用户是否已创建
2、猜价格游戏
步骤:创建脚本vim pricegame.sh
授权并执行
三、case分支语句
1、检查用户输入的字符类型
步骤:创建脚本vim hitkey.sh
授权并执行
2、编写系统服务脚本
步骤:编写脚本 vim myprog
授权并执行
四、实验案例
1、编写getarp.sh脚本文件
(1)通过arping命令发送ARP请求,根据反馈结果记录MAC地址。
(2)将网段地址(如192.168.4.)赋值给变量NADD,作为检测地址的前缀。
(3)使用while循环语句,重复检测目标并记录MAC地址,主机地址从1-254。
脚本如下:
[root@localhost ~]# vi getarp.sh
#!/bin/bash
# 1. 定义网段地址、MAC列表文件
NADD="192.168.4."
FILE="/etc/ethers"
# 2. 发送ARP请求,并记录反馈结果
[ -f $FILE ] && /bin/cp -f $FILE $FILE.old //备份原有文件
HADD=1 //定义起始扫描地址
while [ $HADD -lt 128 ]
do
arping -c 2 -w 1 ${NADD}${HADD} &> /dev/null
if [ $? -eq 0 ] ; then
arp -n | grep ${NADD}${HADD} | awk '{print $1,$3}' >> $FILE
fi
let HADD++
done
[root@localhost ~]# chmod +x getarp.sh
[root@localhost ~]# ./getarp.sh //执行检测程序
[root@localhost ~]# cat /etc/ethers //确认记录结果
192.168.4.12 00:0C:29:C3:F8:51
192.168.4.110 00:50:56:C0:00:01
…… //省略部分内容
2、编写scanhost.sh脚本
(1)有很多方法可以检测一个主机是否开启匿名FTP服务,这里采取以wget下载工具访问FTP根目录的方式,若能够成功列表,则视为匿名FTP已开启,否则视为关闭。
(2)通过awk命令过滤出/etc/ethers文件中的所有IP地址,赋值给变量TARGET。
(3)使用for循环语句,读取TARGET变量中的IP地址,重复探测FTP开启情况。
脚本如下:
[root@localhost ~]# vi scanhost.sh
#!/bin/bash
TARGET=$(awk '{print $1}' /etc/ethers)
echo "以下主机已开放匿名FTP服务:"
for IP in $TARGET
do
wget ftp://$IP/ &> /dev/null
if [ $? -eq 0 ] ; then
echo $IP
rm -rf index.html //删除测试产生的临时文件
fi
done
[root@localhost ~]# chmod +x scanhost.sh
[root@localhost ~]# ./scanhost.sh //执行脚本,确认扫描结果
以下主机已开放匿名FTP服务:
192.168.4.110
192.168.4.129
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有