標籤:code 匹配 無限迴圈 之間 expr tin hello until seq
if 判斷if
#shell#!/bin/sha=5if [[ $a > 3 ]];then echo "$a>3"fi#寫成一行if [[ $a < 6 ]];then echo "$a>3";fi
5>3
5>3
if else
#shell#!/bin/sha=5if [[ $a > 8 ]];then echo "$a>8"else echo "$a<8"fi
5<8
if elif else
#shell#!/bin/sha=5if [[ $a > 5 ]];then echo "$a>5"elif [ $a -eq 5 ];then echo "$a=5"else echo "$a<5"fi
5=5
for迴圈
#shell#!/bin/shfor i in `seq 1 5`;do echo $idone
1
2
3
4
5
while語句
#shella=1while [ $a -lt 5 ];do echo "$a" let "a++" #或者 a=`expr $a + 1`done
1
2
3
4
無限迴圈while中用:代替條件
#shell#!/bin/shwhile : ;do echo "hello"done
while 條件一直為true
#shell#!/bin/shwhile true;do echo "hello"done
使用for迴圈
#!/bin/shfor ((;;));do echo "hello"done
until 迴圈
#shell#!/bin/sha=0until [ $a -gt 10 ]; do echo $a let "a++"done
0
1
2
3
4
5
6
7
8
9
10
case為多選語句,每個case語句匹配一個值與一個模式
#shell#!/bin/shread -p "請輸入的你的名次:" numcase $num in 1) echo "武林盟主" ;; 2) echo "五嶽盟主" ;; 3) echo "華山掌門" ;; *) echo "回家玩去"esac
跳出迴圈break跳出所有迴圈
#shellwhile :;do read -p "請輸入1到5之間的數字:" num case $num in 1|2|3|4|5) echo "你輸入的數字為$num" ;; *) echo "你輸入的數字不在1和5之間" break ;; esacdone
輸入6後停止迴圈
請輸入1到5之間的數字:5
你輸入的數字為5
請輸入1到5之間的數字:4
你輸入的數字為4
請輸入1到5之間的數字:6
你輸入的數字不在1和5之間
continue跳出本次迴圈
#shellwhile :;do read -p "請輸入1到5之間的數字:" num case $num in 1|2|3|4|5) echo "你輸入的數字為$num" ;; *) echo "你輸入的數字不在1和5之間" continue echo "遊戲結束" ;; esacdone
輸入7後繼續下次迴圈
請輸入1到5之間的數字:7
你輸入的數字不在1和5之間
請輸入1到5之間的數字:3
你輸入的數字為3
請輸入1到5之間的數字:6
你輸入的數字不在1和5之間
esac case用easc結束,每個case分枝用 ;;來break
shell 10流程式控制制