凡是重复执行一段代码, 都可以称之为循环。 循环体中三种专业的话术:遍历、迭代、递归 。
- 遍历(traversal) - 按规则访问非线性结构中的每一项。
- 迭代(iterate) - 按顺序访问线性结构中的每一项。
- 递归(recursion) - 在函数内调用自身, 将复杂情况逐步转化成基本情况。
通常有进入循环的条件和退出循环的条件。
循环次数分为两种:
- 循环次数事先已知
- 循环次数事先未知
常见的循环命令:for, while, until。
for循环语句
#!/bin/bash
sum=0
for i in {1..10}
do
sum=$[sum+i]
done
echo "求和的结果是$sum"
vim users.txt
cat users.txt
liyi
lisan
liwu
liliu
vim for2.sh //创建脚本
#!/bin/bash #批量添加用户,用户名存在放users.txt文件中 #初始密码123456
for user in $(cat /root/users.txt)
do
useradd $user
echo "123456" | passwd --stdin $user
done
while循环语句
猜物品价格
#!/bin/bash
price=$[RANDOM%100+1]
a=0
while true
do
read -p "请猜测商品价格(1-100):" num
let a++
if [ $num -eq $price ]
then
echo "恭喜你猜对了"
echo "你一共猜了 $a 次"
exit
elif [ $num -lt $price ]
then
echo "太低了"
else [ $num -gt $price ]
echo "太高了"
fi
done
until循环语句
计算1到10的和
#!/bin/bash
until [ $i -gt 10 ]
do
let sum=$[sum+i]
let i++
done
echo "1到10的求和结果是:$sum"
~