1.顺序执行

shell脚本按从上到下的顺序依次执行,除非使用了选择、循环等执行流程。

2.选择执行

2.1 if
# 格式一
if 条件; then
    # 语句
fi

# 格式二
if 条件; then
    语句
else
    语句
fi

# 格式三
if 条件; then
    语句
elif 条件; then
    语句
fi

# 格式四
if 条件; then
    语句
elif 条件; then
    语句
else
    语句
fi
2.2 case
case expression  in 
    pattern1  )
        statements ;; 
    pattern2  )
        statements ;; 
    ... 
esac

3.循环执行

3.1 for
# 格式一
for 变量 in 列表; do 循环体; done;

# 格式二
for ((变量=初始值; 条件判断; 变量变化)); do 循环体; done;

示例

# 打印99乘法表一
for j in {1..9}; do
    for i in $(seq 1 $j); do
        echo -n -e "${i}X${j}=$[${i}*${j}]\t"
    done
    echo 
done

# 打印99乘法表二
for ((i=1;i<=9;i++));do
    for ((j=1;j<=$i;j++));do
        echo -n -e "${i}x${j}=$(($i*$j))\t"
    done
    echo
done
3.2 while`
while  CONDITION; do
    循环体
    循环控制变量修正表达式
done

示例

# 求1-100之和
declare -i sum=0;
declare -i i=1;
while [ $i -le 100 ];do
    sum+=$i
    i+=1
done
echo $sum
3.3 until
until  CONDITION; do
    循环体
    循环控制变量修正表达式
done

示例

# 求1-100之和
declare -i sum=0;
declare -i i=1;
until [ $i -gt 100 ];do
    sum+=$i
    i+=1
done
echo $sum