理论部分:vim
循环的意思就是让程序重复地执行某些语句;bash
whiler循环就是循环结构的一种,当事先不知道循环该执行多少次,就要用到while循环;ide
while循环语句的运行过程测试
使用while循环语句时,能够根据特定的条件反复执行一个命令,直到条件不知足为止;spa
while会出现死循环的过程,所以循环体内的命令序列内应包括修改测试条件的语句设计
while语句的语法结构:3d
注意:blog
使用while循环语句时,有两个特殊的条件测试操做即true(真)和false(假);ip
使用true时表示条件永远成立,循环体内的命令序列将会无限执行下去,除非强制终止脚本或使用exit退出脚本;get
反之使用false时循环体将不会被执行; ’这两个特殊条件也能够用在if语句的条件测试中
应用实例
使用while语句执行批量添加规范的用户
stu 1 stu 2…….
咱们也能够使用while批量添加用户,可是前提是用户的命名必须有规范,有规律不然没法使用while进行建立
vim useradd.sh
#!/bin/bash
user="stu"
i=1
while [ $i -le 20 ]
do
useradd ${user}$i
echo "123456" | passwd --stdin ${user}$i &>/dev/null
echo "${user}$i Users to add success"
let i++
done
首先定义一个用户名的前缀为stu
在定义一个变量用于改变条件
while 当$i 小于等于20 的时候执行下面的命令序列 let i++ 表示每循环一次i的值加1
当循环到21次的时候这个测试条件不成立了,由于21不小于等于20因此直接调到done结束循环
执行的结果
检验:
也能够使用while循环删除
vim userdel.sh
#!/bin/bash
user="stu"
i=1
while [ $i -le 20 ]
do
userdel -r ${user}$i &> /dev/null
echo "${user}$i Users to del success"
let i++
done
执行结果
实战2
针对上诉要求主要设计思路以下
if经过变量RANDOM可得到一个小于2十六次方的随机整数,计算其与1000的余数便可得到0~999的随机价格,反复操做能够经过true做为测试条件,在用户猜出实际价格为止,判断猜想价格与实际价格的过程使用if语句实现,嵌套在while循环内使用变量来计算猜想的次数
vim caijiage.sh
#!/bin/bash
price=$(expr $RANDOM % 1000)
times=0
echo "The prices of the goods is 0-999,Can you guess what is?"
while true
do
read -p "Please enter your price:" INT
let times++
if [ $INT -eq $price ]
then
echo "Good you guessed it"
echo "You guess the total $times times "
exit 0
elif
[ $INT -gt $price ]
then
echo "Is too high "
else
echo "It's too low "
fi
done
执行脚本的结果
学会for while已经能够编写一些脚本完成简单的系统管理任务了。