sh流程控制不可為空
if else
if 語法格式:
if condition
then
command1
command2
...fi
寫成一行:
if [ $(ps -ef | grep -c "ssh" ) -gt 1 ]; then echo "true"; fi
if-else
格式:
if condition
then
command1
command2
..else
coamnd
fi
if else-if else
格式:
if condition1
then
command1
elif condition2
then
command2
else
commandn
fi
例:判斷兩個變數是否相等:
a=10
b=20
if [ $a == $b ]
then
echo "a等於b"
elif [ $a -gt $b ]
then
echo "a 大於b"
else
echo "a小於b"
fi
for 迴圈
格式:
for var in item1 item2 ..
do command1
command2
.....
done
寫成一行:
for var in item1 item2 ....; do command1; do command2... done;
例:for loop in 1 2 3 4 5
do echo "the value is : $loop"
done
結果:the value is: 1
the value is: 2
the value is: 3
the value is: 4
the value is: 5
while語句
格式:
while condition
do
command
done
例:
int=1
while (( $int<=5 ))
do echo $int
let "int++"
done
輸出:123
45
注:bash let命令用於執行乙個或多個表示式,變數計算不需要加$.
while迴圈可用於讀取鍵盤資訊。下面例子中,輸入資訊被設定為變數film。
echo 『按下退出』
echo -n 『輸入你喜歡的**:'
while read film
do echo "$film 是乙個好**"
done
結果:
按下退出
輸入你喜歡的**:goole
goole是乙個好**
until迴圈
until迴圈執行一系列命令直到條件為true.
語法:
until condition
do command
done
例:
a=o
until [ ! $a -lt 6 ]
do echo $a
a="expr $a + 1"
done
輸出:012
345
case
shell case語句為多選擇語句。可以用case匹配乙個值和乙個模式,如果匹配成功,執行相匹配的命令。
格式:
case 值 in
模式1)
command1
command2
....
;;模式2)
command1
command2
...;;
esac
例:
echo '輸出1到3之間的數字:'
echo '輸出的數字為:'
read $anum
case $anum in
1) echo "你選擇了1"
;; 2)
echo "你選擇了2"
;;3)echo "你選擇了3"
;; *)echo "沒有輸入1-3之間的數字"
;;esac
輸出:輸出1到3之間的數字:
輸入的數字:
3你選擇了 3
注:如果case無匹配模式,使用 * 捕捉該值,再執行後面的命令。
跳出迴圈
break 和 continue
break命令:允許跳出所有迴圈(即終止執行後面的所有迴圈)。
continue:跳出當前迴圈。
while例項
while:
do echo -n "輸入1到5 之間的數字:"
read anum
case $anum in
1|2|3|4|5) echo "你輸入的數字為$anum!"
;;*) echo "你輸入的數字不在指定區間!"
break
;;easc
done
輸出:
輸入1到5之間的數字:7
你輸入的數字不在指定區間
continue例項
while:
do echo -n "輸入1到5 之間的數字:"
read anum
case $anum in
1|2|3|4|5) echo "你輸入的數字為$anum!"
;;*) echo "你輸入的數字不在指定區間!"
continue
echo "遊戲結束"
;;easc
done
當輸入大於5的數字時,該迴圈不會結束
Shell流程控制
case迴圈 if condition condition then statements if true 1 elif condition condition then statements if true 2 else statements if all else fails fi注 方括號中的...
Shell 流程控制
shell的流程控制不可為空,如果else分支沒有語句執行,就不要寫這個else。if 語句語法格式 if condition then command1 command2 commandn fi寫成一行 適用於終端命令提示符 if ps ef grep c ssh gt 1 then echo t...
Shell流程控制
shell 流程控制 if else if語法格式 if condition then command1 command2 fi 末尾的fi就是if倒過來拼寫 if else語法 if condition then command1 command2 else command1 fi if else...