千家信息网

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

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,while和for的区别:for语句非常适合用于列表对象无规律,且列表来源是固定的场合while对于要求控制循环次数、操作对象按数字顺序编号,按特定条件执行重复操作。重复测试某个条件时,只要条件成立就
千家信息网最后更新 2024年11月28日shell脚本--------while循环语句

while和for的区别:
for语句非常适合用于列表对象无规律,且列表来源是固定的场合

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

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

格式:while   条件测试操作(判断语句)do    命令序列done应用领域1、批量添加用户#!/bin/bashU="student"            //名称i=1                        //默认从一开始while [ $i -le 10 ]   //循环十次do        useradd $U$i        echo 123 | passwd --stdin $U$i &> /dev/null     设置密码为123并将结果输出至黑洞        let i++                     //依次递增doneuntil [ $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/bashread -p "请输入要创建用户的前缀:" Xread -p "请输入要创建用户的个数:" Mread -p "请输入用户的初始密码:" Ni=1while [ $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/bashP=$(($RANDOM00))T=0echo "商品实际价格范围0~999,请猜猜看是多少?"while truedo        read -p "请输入你猜测的价格数目:" INT        let T++        if [ $INT -eq $P ];then                echo "恭喜答对了,实际价格是$P"                echo "你总共猜测了$T次"                exit 0        elif [ $INT -gt $P ];then                echo "太高了"        else                echo "太低了"        fidone

0