While循环语句#yyds干货盘点#

提兵百万西湖上,立马吴山第一峰!这篇文章主要讲述While循环语句#yyds干货盘点#相关的知识,希望能为你提供帮助。
For循环语句非常适用于列表对象无规律,且列表来源已固定(如某个列表文件)的场合。而对于要求控制循环次数、操作对象按数字顺序编号、按特定条件执行重复操作等情况,则更适合适用while循环语句。


While语句的结构
使用while循环语句时,可以根据特定的条件反复执行一个命令序列,直到该条件不再满足时为止。在脚本应用中,应该避免出现死循环的情况,否则后边的命令操作将无法执行。因此循环体内的命令序列中应该包含修改测试条件的语句。以便在适当的时候使测试条件不再成立,从而结束循环。
while 条件测试操作
do
命令序列
done
while语句的执行流程:首先判断while后的条件测试操作结果,如果条件成立,则执行do。。。done循环体中的命令序列;返回while后再次判断条件测试结果,如果条件依然成立,则继续执行循环体;再次返回后到while后,再次判断。。。。如此循环。直到while后的条件测试结果不在成立为止。最后跳至done语句,表示结束循环。
使用while循环语句时,有两个特殊的条件测试操作,即true(真)和false(假)。使用true作为条件时,表示条件永远成立,循环体内的命令序列将无限执行下去,除非强制终止脚本。反之,若使用false作为条件,则循环体将不会被执行。

事例1:
批量添加规律编号的用户:添加包含固定的前缀字串,并按照顺序依次进行编号的账号。(名称依次为stu1。。。。。stu10)。
#vi while1.sh
#!/bin/bash
prefix=‘stu’
i=1
while [ $i -le 10 ]
do
useradd p r e f i x prefixprefixi
echo “123” | passwd --stdin p r e f i x prefixprefixi & > /dev/null
let i++
done


解释:上述脚本中,使用变量i来控制用户名称的编号,初始赋值为1,并且当取值大于10时终止循环。在循环体内部,通过语句“let i++”(等同于i=‘expr KaTeX parse error: Expected EOF, got # at position 186: …户的猜测次数和实际价格。** #?vi cai.sh #!/bi…(expr $RANDOM % 1000)
TIMES=0
echo “商品实际价格范围为0~999,猜猜是多少?”
while true
do
read -p “请输入你的猜测价格数目:” INT
let TIMES++
if [ $INT -eq P R I C E ] ; t h e n e c h o " 恭 喜 你 , 猜 对 了 , 实 际 价 格 是 PRICE ]; then echo "恭喜你,猜对了,实际价格是PRICE]; thenecho"恭喜你,猜对了,实际价格是PRICE"
echo “你总共猜测了$TIMES次”
exit 0
elif [ $INT -gt $PRICE ]; then
echo “太高了”
else
echo “太低了”
fi
done

解释:通过环境变量RANDOM可获得一个2的16次方的随机整数,计算其与1000的余数即可获得0~999的随机价格;反复猜测操作使用true作为测试条件的while循环实现,当用户实际价格猜对时终止循环;判断猜测价格使用if语句实现,嵌套在while循环体内;使用变量来记录猜测次数。




























【While循环语句#yyds干货盘点#】


    推荐阅读