(八)Shell 脚本应用(三):循环与选择结构详解

一、for 循环

  1. for 循环作用和语法结构
    • for 循环作用:根据指定列表进行遍历列表中的值。
    • for 语法结构

收起

plaintext

复制

     for 变量 in 取值列表
     do
        执行命令
     done

  1. 通过 for 循环创建用户

    • 创建用户列表:使用命令[root@centos01 ~]# vim./user_list.txt创建包含用户名称的文件,如bobtomalicemarry
    • 创建添加用户脚本:使用命令[root@centos01 ~]# vim./user_add.sh创建脚本,内容为#!/bin/bashuser=$(cat /root/user_list.txt)读取用户列表赋值给变量userfor username in $user将用户列表赋值给变量usernamedouseradd $username创建用户、echo "pwd@123" | passwd --stdin $username &> /dev/null设置密码、done
    • 删除用户:使用命令[root@centos01 ~]# vim./user_del.sh创建删除用户的脚本,内容与添加用户类似,使用userdel -r $username删除用户。
  2. 通过 for 循环测试主机连通性

    • 创建主机 IP 地址列表:使用命令[root@centos01 ~]# vim./ip_list.txt创建包含 IP 地址的文件,如192.168.100.10192.168.100.20等。
    • 编写 ping 脚本:使用命令[root@centos01 ~]# vim./ping.sh创建脚本,内容为#!/bin/bashhostlist=$(cat /root/ip_list.txt)读取 IP 列表赋值给变量hostlistfor ip in $hostlist遍历 IP 列表、doping -c 3 -w 3 -i 0.3 $ip &> /dev/null进行 ping 测试、根据测试结果输出相应信息、done
    • 接收用户输入 IP 地址测试连通性:使用命令[root@centos01 ~]# vim./test_ping.sh创建脚本,接收用户输入的 IP 地址进行连通性测试。

二、while 循环使用

  1. while 的作用和语法结构
    • while 的作用:根据指定的条件进行随机循环。
    • 语法结构

收起

plaintext

复制

     while 条件
     do 
        命令序列
     done

  1. 根据指定的值创建删除用户

    • 创建用户:使用命令[root@centos01 ~]# vim./while_add.sh创建脚本,通过循环创建多个用户,如prefix="hb3066"i=1while [ $i -le 100 ]进行循环条件判断、douseradd ${prefix}$i创建用户、echo "pwd@123" | passwd --stdin ${prefix}$i &> /dev/null设置密码、let i++增加计数器、done
    • while 删除用户:使用命令[root@centos01 ~]# vim./while_del.sh创建删除用户的脚本,与创建用户类似,使用userdel -r ${prefix}$i删除用户。
  2. 随机猜 1000 以内的值

    • 编写脚本:使用命令[root@centos01 ~]# vim./sum.sh创建脚本,内容为#!/bin/bashprefix=$(expr $RANDOM % 1000)生成随机数、times=0初始化计数器、输出提示信息、while true进行无限循环、doread -p "请输入商品价格:" int接收用户输入、let times++增加计数器、根据用户输入与随机数的比较结果输出相应信息、done
    • 执行脚本:运行脚本进行随机数猜测游戏。

三、case 使用

  1. case 的作用和语法结构
    • case 的作用:通常用于编写服务控制脚本等场景。
    • 语法结构

收起

plaintext

复制

     case 变量值 in 
     模式1)
        命令序列1
     ;;
     模式2)
        命令序列2
     ;;
     模式3)
        命令序列3
     ;;
     *)
        默认执行命令
     esac

  1. 编写服务控制脚本控制 vsftp 服务

    • 编写脚本:使用命令[root@centos01 ~]# vim./vsftpd.sh创建脚本,根据传入的参数(如startrestartstopstatus)执行相应的服务控制操作,并输出提示信息。
    • 测试 vsftpd 服务控制脚本:使用命令[root@centos01 ~]# sh./vsftpd.sh start测试脚本。
  2. 编写 Apache 服务控制脚本

    • 创建脚本:使用命令[root@centos01 ~]# vim./httpd.sh创建脚本,与 vsftp 服务控制脚本类似,根据传入的参数对 Apache 服务进行启动、重启、停止和查看状态等操作,并输出相应提示信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值