目录
1.5 不带列表循环执行由用户指定参数和参数的个数决定的for循环
一、循环语句
1 for循环
使用 for 循环语句时,需要指定一个变量及可能的取值列表,针对每一个不同的取值重复执行相同的命令序列,直到变量值用完退出循环。
1.1 for 循环语句的语法结构如下:
for 变量名 in 取值列表
do
命令序列
done
遍历
for 变量名 in {list}
do
命令序列
done
1.2 for语句的执行流程:
-
首先将列表中的第1个取值赋给变量,并执行 do···done 循环体中的命令序列
-
然后将列表中的第2个取值赋给变量,并执行循环体中的命令序列……
-
以此类推,直到列表中的所有取值用完,最后将跳至 done 语句,表示结束循环
1.3 取值演示
打印 1 - 5 这5个数字
打印5次hello worl
1.4 花括号 {} 和 seq 在 for 循环的应用
for i in {1..50..2} 1-50的奇数
for i in {2..50..2} 1-50的偶数
for i in {10..1} 1-10倒序排列
for i in $(seq 10) 1-10正序排列
for i in $(seq 10 -1 1) 1-10倒叙排列
for i in $(seq 1 2 10) 1-10的奇数,中间为步长
for i in $(seq 0 2 10) 1-10的偶数,中间为步长
1.5 不带列表循环执行由用户指定参数和参数的个数决定的for循环
for 变量名
do
command
done
1.6 类C风格的for循环
格式:
for ((i=1;i<=5;i++))
do
echo $i
done
# i++ ; i=i+1 先赋值再运算 i=1 之后 再 +1
# ++i ; 1+1=i 先运算再赋值 1=i 之后再 =i
类C风格的运算符用法
++ 自身变量+1
-- 自身变量-1
+=5 自身变量+5
-=5 自身变量-5
*=5 自身变量*5
/=5 自身变量/5
%=5 自身变量%5
打印 1-10 的奇数
计算1-10的奇
1.7 实例展示
利用文本取值
幸运会
数字炸弹
[root@zzh zzh]# cat 6.sh
#!/bin/bash
num=$[RANDOM%100+1]
read -p "请输入要猜测的数值: " b
for((i=1;i<=20;i++))
do
let c=20-$i
if [ $num -eq $b ];then
echo "猜测数字正确,共猜测$i次"
break
elif [ $num -gt $b ];then
echo "猜小了,还剩$c次机会"
else
echo "猜大了,还剩$c次机会"
fi
read -p "请重新输入要猜测的数值:" b
done
[root@zzh zzh]#
2 while语句
for循环语句非常适用于列表对象无规律,且列表来源已固定(如某个列表文件