Shell脚本(forwhile和case语句的应用示例)

Posted L宝宝聊IT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本(forwhile和case语句的应用示例)相关的知识,希望对你有一定的参考价值。

一、for循环语句

1、根据姓名列表批量添加用户

步骤:首先创建一个姓名列表 vim /root/users.txt 然后创建脚本vim  uaddfor.sh批量添加用户

Shell脚本(for、while和case语句的应用示例)

授权并执行后查看用户是否已创建

Shell脚本(for、while和case语句的应用示例)

Shell脚本(for、while和case语句的应用示例)

Shell脚本(for、while和case语句的应用示例)

授权并执行

Shell脚本(for、while和case语句的应用示例)

二、while循环语句

1、批量添加规律编号的用户

步骤:创建vim uaddwhile.sh脚本

Shell脚本(for、while和case语句的应用示例)

授权并执行后查看用户是否已创建

Shell脚本(for、while和case语句的应用示例)

2、猜价格游戏

步骤:创建脚本vim pricegame.sh

Shell脚本(for、while和case语句的应用示例)

授权并执行

Shell脚本(for、while和case语句的应用示例)

三、case分支语句

1、检查用户输入的字符类型

步骤:创建脚本vim hitkey.sh

Shell脚本(for、while和case语句的应用示例)

授权并执行

Shell脚本(for、while和case语句的应用示例)

2、编写系统服务脚本

步骤:编写脚本 vim myprog

Shell脚本(for、while和case语句的应用示例)

授权并执行

四、实验案例

1、编写getarp.sh脚本文件

脚本如下:

[root@localhost ~]# vi getarp.sh

#!/bin/bash

NADD="192.168.4."

FILE="/etc/ethers"

# 2. 发送ARP请求,并记录反馈结果

[ -f $FILE ] && /bin/cp -f $FILE $FILE.old       //备份原有文件

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已开启,否则视为关闭。

脚本如下:

[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

以上是关于Shell脚本(forwhile和case语句的应用示例)的主要内容,如果未能解决你的问题,请参考以下文章

Shell脚本应用(forwhile循环语句和case分支语句)

自动化运维必须要学的Shell脚本之——循环语句(forwhile和until循环)

带有case语句和循环的Shell脚本不工作

Shell脚本条件测试if语句case语句!

shell 中的forwhile循环及if语句

shell脚本中的case语句使用要点