這一次咱們的主題是shell
腳本中的流程控制,gif動圖所見即所得,語法以下。編程
#!/bin/bash if [ $1 == $2 ];then echo "a == b" elif [ $1 -gt $2 ];then echo "a > b" elif [ $1 -lt $2 ];then echo "a < b" else echo "error" fi
#!/bin/bash for loop in 1 2 3 4 5 do echo "The value is: $loop" done
#!/bin/bash i=0 while [[ $i<3 ]] do echo $i let "i++" done
輸出bash
while的判斷條件能夠從鍵盤輸入,成爲交互式的腳本編程語言
#!/bin/bash echo 'press <CTRL-D> exit' while read num do echo "you input is $num" done
ps: until
循環與while
循環相反,until
直到判斷條件爲真才中止,語法同while
徹底同樣就很少介紹了。oop
while true do command done
或者code
for (( ; ; )) do command done
死循環,使用Ctrl+C退出。blog
就是continue
和break
input
#!/bin/bash case $1 in 1) echo 'You have chosen 1' ;; 2) echo 'You have chosen 2' ;; *) echo 'You did not enter a number between 1 and 2' ;; esac
同編程語言中的switch
同樣,只有語法略微不一樣 ,esac
爲case
的結束符。it
每一個模式,用右括號結束)
,若是沒有任何匹配的就用*)
,每一個模式用;;
兩個分號連一塊兒結束。class
case 值 in 模式1) command1 command2 ... commandN ;; 模式2) command1 command2 ... commandN ;; esac