1. for
  2. while
  3. if
  4. case

1. for用法1

	for 变量 in 值1 值2 值3..;do  
			 执行语句 
	done
  • 用法2

      for 变量 `命令`;do                 #  可以引用命令执行结果
      		执行语句
      done
    
  • 用法3

      for ((初始值;循环控制;变量变化));do
      		执行语句
      done   #C语言风格的for循环用法
    

for循环示例(1+2+3+..+100=?)

	#!/bin/bash
	sum=0                              # 初值为0
	for  ((i=1;i<=100;i++));do
			sum=$(( $sum + $i))    # 初值+i 并刷新sum值
	done
	echo "1+2+3+..+100=$sum"
  1. while循环,重复次数是利用一个条件来控制是否继续执行这个语句,为了避免死循环,必须保证循环体中包含循环出口条件(存在退出状态)

     #!/bin/bash
     sum=0
     i=1           # sum i 赋初值
     while (( i<=100));do       #进入循环体,每循环一次判断一次i的值是否符合(( )) 的条件
     		let "sum+=i"
     		let "i+=2"
     done
     echo "sum=$sum"
    
  • 无条件循环

      	while true;do
      		执行语句
      		done       # 这个循环语句永远不会跳出,无论什么情况下while判断语句都为真,都会继续行“执行语句”
    

相反,对比while循环,until循环是“满足条件就不执行” 以1+2+3+..+100=?为例

		until  [ $i -gt 100];do                # 当 i 的值大于100时				sum=$(($sum+$i))
			i+$(($i+1))
	done
	echo "$sum"

if语句,跟case比较像 ,也是条件判断语句,逻辑比较简单

	#!/bin/bash
	read -p "Please Enter a Number:" number           # 读取终端输入的数字
	if [ $number -eq 1  ];then
			echo "the number is 1 "                                    # 如果输入数字等于 1 ,输出此句
	elif [ $number -eq 2 ]
			echo "the number is 2 "                                    # 如果输入数字等于 2 ,输出此句
	elif [ $number -eq 3 ]
			echo "the number is 3"                                     # 如果输入数字等于 2 ,输出此句
	else
			echo "the number is greater than 3 "               # 如果输入的数字都不满足,则输出此句
	fi

case语句

	#!/bin/bash
	read -p "Please Enter a Number:" number
	case $number in
			1) echo "the number is 1";;
			2) echo "the number is 2 ";;
			3) echo "the number is 3 ";;
			*) echo "the number is greater than 3"
	esac                     # 很容易理解,而且看起来比if 简洁一些,