1 for循环-需要注意,这个跟powersehll有区别,shell和python里面的for循环可以遍历,powersehll只是一个循环计数器,不能遍历。
特点: 多用于已知次数的循环(定循环),比如循环100次,循环一个目录下的文件,这些都是有一定次数的。
2 循环控制语句
==do....done==之间的内容
- continue:继续;表示==循环体==内下面的代码不执行,重新开始下一次循环
- break:打断;马上停止循环,执行==循环体==后面的代码
- exit:表示直接跳出程序
3 while循环
特点:条件为真就进入循环;条件为假就退出循环.多用于不定次数的循环,一般死循环用的比较多,实现程序持续运行。
for循环常用于定循环,while循环常用于不定循环,很多场景两个都可以用
4 随机数
bash默认有一个$RANDOM的变量, 默认范围是0~32767
使用set |grep RANDOM
查看上一次产生的随机数
#示例格式语法
#!/bin/bash
for i in 1 2 3 4 5
do
echo $i
done
#其他示例
# for i in `seq 10`;do echo $i;done 如果想在一行代码里写出来,那么英文冒号; 后相当于换下一行代码内容。
# for i in $(seq 10);do echo $i;done
# for i in `seq 10 -2 1`;do echo $i;done
# for i in {1..10};do echo $i;done
# for i in {0..10..2};do echo $i;done # 大括号中第3个数字2为一步的长度
# for ((i=1;i<=5;i++));do echo $i;done
# for ((i=1;i<=10;i+=2));do echo $i;done
#循环计数器1到10之间的整数和
sum=0
for i in {1..10}
do
sum=$[$sum+$i]
done
echo $sum
#for循环遍历linux目录是的文件,体会两种方式的区别
for file in /etc/*
do
echo $file
done
for file in $(find /etc)
do
echo $file
done
#while循环结构语法
while 条件
do
条件满足时候:执行动作一
条件满足时候:执行动作二
......
done
#死循环
while true 条件永远为true,所以会一直循环下去
do
command
done
#until循环 了解即可。
until 条件 # 直到满足条件就退出循环
do
command
command
......
done
#示例如下
a=1
until [ $a -gt 5 ] for ((a=1;a<6;a++))
do do
echo $a echo $a
let a++ done
done
#随机数
# echo $RANDOM
19862
# set |grep RANDOM
RANDOM=19862
#0~1之间的随机数
echo $[$RANDOM%2]
#0~2之间随机数
echo $[$RANDOM%3]
#产生50~100之间的随机数
echo $[$RANDOM%51+50]
#产生三位数随机数
echo $[$RANDOM%900+100]
#实战演练,猜数游戏
#!/bin/bash
echo "猜一个1-100的整数,猜对砸蛋:"
num=$[$RANDOM%100+1]
while true
do
read -p "请猜:" gnum
if [ $gnum -gt $num ];then
echo "大了"
elif [ $gnum -lt $num ];then
echo "小了"
else
echo "对了"
break
fi
done
echo "砸蛋"