一、if语句
# 用法1
if confition; then
COMMAND...
fi
# 用法2
if condition; then
COMMAND...
else
COMMAND...
fi
# 用法3
if condition1; then
COMMAND...
elif condition2; then
COMMAND...
...
else
COMMAND...
fi
二、case语句
case varName in
pattern1)
COMMAND...
;;
pattern2)
COMMAND...
;;
...
*)
COMMAND...
esac
#注:pattern支持glob
三、while循环
# 用法1
while condition; do
COMMMAND...
done
# 用法2,从指定文件逐行读取内容赋值给varLine变量
while read varLine; do
COMMAND...
done < /filePath
四、for循环
# 用法1,从变量列表逐个读取数据
for varName in varList; do
COMMAND...
done
# 用法2,类似c语言中的for用法
for ((初始条件;控制条件;变量修正)); do
COMMAND...
done
# 控制条件:支持类似 i<=10 这种格式
# 变量修正:支持 i++ 这种格式
五、until循环
#条件不满足进入循环,条件满足后跳出循环
until condition; do
COMMAND...
done
注:循环均支持continue与break,if,while,until条件中支持布尔型值
脚本例子: 随机生成10个随机数,并排序
#!/bin/bash
#
declare -a nums
# 生成随机数并存入数组
for i in {0..9}; do
nums[$i]=$RANDOM
done
echo "The 10 numbers are:${nums[@]}"
# 排序并输出
for i in {0..8}; do
for((j=$[$i+1];j<=9;j++)); do
if [ ${nums[$i]} -lt ${nums[$j]} ]; then
temp=${nums[$i]}
nums[$i]=${nums[$j]}
nums[$j]=$temp
fi
done
done
echo "After Sorting:${nums[@]}"