Linux shell学习(6)shell流程控制

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. 循环

  1. 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
  1. while循环
while [  ]
do
        echo ""
done
# ----------------------------
while(( ))
do
        echo ""
done

无限循环的表示方法:

while :
do
        echo "无限循环"
done
# ----------------------------
while true
do
        echo "无限循环"
done
# ----------------------------
for(( ; ; ))
  1. 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章