和Java、PHP等語言不一樣,sh的流程控制不可為空,如:
復制代碼 代碼如下:
?php
if (isset($_GET["q"])) {
search(q);
}
else {
//do nothing
}
?>
在sh/bash里可不能這么寫,如果else分支沒有語句執(zhí)行,就不要寫這個else,就像這樣:
復制代碼 代碼如下:
if condition
then
command1
command2
...
commandN
fi
當然,也可以寫成一行(適用于終端命令提示符),像這樣:
復制代碼 代碼如下:
if test $[2*3] -eq $[1+5]; then echo 'The two numbers are equal!'; fi;
末尾的fi就是if倒過來拼寫,后面還會遇到類似的。
if else格式
復制代碼 代碼如下:
if condition
then
command1
command2
...
commandN
else
command
fi
if else-if else格式
復制代碼 代碼如下:
if condition1
then
command1
elif condition2
command2
else
commandN
fi
if else語句經常與test命令結合使用,如下所示:
復制代碼 代碼如下:
num1=$[2*3]
num2=$[1+5]
if test $[num1] -eq $[num2]
then
echo 'The two numbers are equal!'
else
echo 'The two numbers are not equal!'
fi
輸出:
The two numbers are equal!
您可能感興趣的文章:- 基于shell的if和else詳解
- Windows Powershell IF-ELSEIF-ELSE 語句
- linux shell中 if else以及大于、小于、等于邏輯表達式介紹
- 詳解Shell if else語句的具體使用方法