for循环
读取不同的变量值,用来逐个执行同一组命令
结构
for(初始化表达式)
for 变量名 in {list}
do
command
done
例子 打印句子
计算1-100正整数和
#!/bin/bash
sum=0
for i in {1..100}
do
let sum+=i
done
echo sum=$sum
##或者
#!/bin/bash
sum=0
for ((i=1;i<=100;i++))
do
sum=$(($sum+$i))
done
echo sum=$sum
while
while循环一般用于有条件判断的循环 若判断条件为真,则进入循环,当条件为假就跳出循环
for循环需要知道循环次数
只知道停止条件不知道具体次数 ,就需要使用while
直到达到条件
结构
while [ ]
do
done
##while 死循环
while [ 1 -eq 1 ] //写一个永远为真的表达式
do
command
done
批量建立用户
#!/bin/bash
i=0
while [ "${i}" -le 20 ]
do
useradd stu${i}
echo "123456" |passwd --stdin stu${i} &>/dev/null
if [ $? -eq 0 ]
then
echo "用户 stu${i} 被建立"
else
echo "用户 stu${i} 建立失败"
fi
let i++
done
双重循环及跳出循环
#结束某次循环
#!/bin/bash
for i in {1..10}
do
if [ $i -eq 5 ]
then continue
fi
echo i=$i
done
#结束一层循环
#!/bin/bash
for i in {1..10}
do
if [ $i -eq 5 ]
then break
fi
echo i=$i
done
until
结构
until 条件测试操作
do
命令序列
done
用法
#!/bin/bash
# 初始化计数器
counter=0
# until 循环,直到 counter 大于等于 5
until [ $counter -ge 5 ]
do
echo "当前计数: $counter"
# 每次循环,计数器加1
counter=$((counter+1))
done
echo "循环结束,计数达到或超过 5"