- for
- while
- if
- 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"
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 简洁一些,
来源: http://www.bubuko.com/infodetail-2538472.html