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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章