加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell脚本--------while循环语句

发布时间:2020-12-15 18:22:16 所属栏目:安全 来源:网络整理
导读:while和for的区别: for语句非常适合用于列表对象无规律,且列表来源是固定的场合 while对于要求控制循环次数、操作对象按数字顺序编号,按特定条件执行重复操作。 重复测试某个条件时,只要条件成立就会反复执行(无限),除非强制终止,或者exit语句退出脚
while和for的区别:
for语句非常适合用于列表对象无规律,且列表来源是固定的场合

while对于要求控制循环次数、操作对象按数字顺序编号,按特定条件执行重复操作。

重复测试某个条件时,只要条件成立就会反复执行(无限),除非强制终止,或者exit语句退出脚本

格式:
while   条件测试操作(判断语句)
do
    命令序列
done

应用领域
1、批量添加用户
#!/bin/bash

U="student"            //名称
i=1                        //默认从一开始
while [ $i -le 10 ]   //循环十次
do
        useradd $U$i
        echo 123 | passwd --stdin $U$i &> /dev/null     设置密码为123并将结果输出至黑洞
        let i++                     //依次递增
done

until [ $i -gt 10 ]
do
        useradd $U$i
        echo 123 | passwd --stdin $U$i &> /dev/null
        let i++
done

在/opt目录下创建while01.sh
写入一下脚本


完成后保存退出为文件添加执行权限并启动如下图


第一遍运行是不会显示的我这是第二遍运行,第一遍运行若为报错可以cat /etc/passwd查看


2.交互式批量创建用户:

#!/bin/bash
read -p "请输入要创建用户的前缀:" X
read -p "请输入要创建用户的个数:" M
read -p "请输入用户的初始密码:" N
i=1
while [ $i -le $M ]      //要创建用户的个数
do
        useradd $X$i
        echo "$N" | passwd --stdin $X$i &> /dev/null    //密码
        chage -d 0 $X$i     //第一次登陆强制修改密码
        let i++
done

再创建wheil02.sh输入一下内容


保存退出后添加执行权限运行


到cat /etc/passwd中查看是否创建完成


强制修改密码可以到虚拟机中尝试一下如下图


这样就强制修改了.

3、猜价格游戏

#!/bin/bash
P=$(($RANDOM%1000))
T=0
echo "商品实际价格范围0~999,请猜猜看是多少?"

while true
do
        read -p "请输入你猜测的价格数目:" INT
        let T++
        if [ $INT -eq $P ];then
                echo "恭喜答对了,实际价格是$P"
                echo "你总共猜测了$T次"
                exit 0
        elif [ $INT -gt $P ];then
                echo "太高了"
        else
                echo "太低了"
        fi
done

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读