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 "砸蛋"