1. 条件判断
使用if、if-else、if-elif-else三种判断结构
if [ cond ]
then
echo ""
fi
# ----------------------------
if [ cond1 ]
then
echo "1"
else
echo "2"
fi
# ----------------------------
if [ cond1 ]
then
echo "1"
elif [ cond2 ]
then
echo "2"
else
echo "3"
fi
2. 循环
- for循环
for i in 1 2 3 4 5
do
echo $i
done
# ----------------------------
for ch in "strings"
do
echo $ch
done
# ----------------------------
for((i=1; i<=10; i++));do
echo $i
done
- while循环
while [ ]
do
echo ""
done
# ----------------------------
while(( ))
do
echo ""
done
无限循环的表示方法:
while :
do
echo "无限循环"
done
# ----------------------------
while true
do
echo "无限循环"
done
# ----------------------------
for(( ; ; ))
- until循环
until循环和while循环是相互反着的,知道条件成立才退出循环
until [ ]
do
echo ""
done
# ----------------------------
until(( ))
do
echo ""
done
3. 多选择分支case-esac
类似于switch语句,多选择分支使用case语句
case $a in
1) echo "1"
;;
2) echo "2"
;;
3) echo "3"
;;
4) echo "4"
;;
*) echo "none"
;;
esac
- 一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式
4. break和continue
在循环语句中使用break来跳出循环体
在循环语句中使用continue来跳出当前循环
while true
do
if [ $a == 10 ]
then
echo "done"
break
fi
done
# ----------------------------
a=0
for((i=1; i<=10; i++));do
if [ `expr $i % 2` == 0 ]
then
let a+=1
continue
fi
let a+=2
done
echo "$a"
15