直接上代碼:
#!/bin/bash # shell流程控制語句 # 流程控制語句 # if 語句語法格式: # if condition # then # command1 # command2 # ... # commandN # fi # 寫成一行:if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi if [ $(ps -ef | grep -c "ssh") -gt 1 ] then echo "true" fi # if else 語法格式: # if condition # then # command1 # command2 # ... # commandN # else # command # fi num1=$[2*3] num2=$[1+4] if test $[num1] -eq $[num2] then echo "兩個數字相等" else echo "兩個數字不相等" fi # for 循環一般格式 # for var in item1 item2 ... itemN # do # command1 # command2 # ... # commandN # done # 寫成一行:for var in item1 item2 ... itemN; do command1; command2… done; for tmp in 1 2 3 4 5 do echo "this value is $tmp" done for str in 'this is a string' do echo $str done # while 語句 # while condition # do # command # done int=1 while(( $int<=5 )) do echo $int let "int++" done # 無限循環語法格式: # while : # do # command # done # 或者 # while true # do # command # done # 或者 # for (( ; ; )) # until 循環 until循環執行一系列命令直至條件爲真時停止。 # until condition # do # command # done # case 語句 case語句格式如下: # case 值 in # 模式1) # command1 # command2 # ... # commandN # ;; # 模式2) # command1 # command2 # ... # commandN # ;; # esac anum=3 case $anum in 1) echo "選中1" ;; 2) echo "選中2" ;; 3) echo "選中3" ;; 4) echo "選中4" ;; esac
跳出循環 break命令
continue命令與break命令類似,只有一點差別,它不會跳出所有循環,僅僅跳出當前循環。
case的語法和C family語言差別很大,它需要一個esac(就是case反過來)作爲結束標記,每個case分支用右圓括號,用兩個分號表示break。