if
[ 條件判斷式 ]
;then
程式fi
或者
if
[ 條件判斷式 ]
then
程式elif [ 條件判斷式 ]
then
程式fi
應用例項
請編寫乙個shell程式,如果輸入的引數,大於等於60,則輸出"及格了",如果小於60,則輸出「不及格」。
if[$1
-ge 60 ]
then
echo
"及格了"
elif [
$1-lt 60 ]
then
echo
"不及格"
case $變數名 in
"值1"
)如果變數的值等於1,則執行程式1;;
"值2"
)如果變數的值等於2,則執行程式2;;
*)如果變數的值都不是以上的值,則執行此程式;;
esac
注意:case的具體條件之前有沒有縮排都可以。
當命令列引數是1時,輸出「周一」,是2時,就輸出「周二」,其他情況輸出「other」
#!/bin/bash
case $1 in
"1")echo
"星期一";;
"2")
echo
"星期二";;
*)echo
"others";;
esac
for 變數 in 值1 值2 值3 ...
do 程式
done
應用例項
列印命令列輸入的引數 ,【這裡可以看出$*
和$@
的區別】
#!/bin/bash
# 案例:列印命令列輸入的引數
# 使用 $*
for i in "$*"
doecho
"the number is $i"
done
echo
"******************************"
# 使用 $@
但是去掉引數的雙引號。並沒有發現$*
和$@
的區別。
#!/bin/bash
# 案例:列印命令列輸入的引數
# 使用 $*
for i in $*
doecho
"the number is $i"
done
echo
"******************************"
# 使用 $@
for j in $@
doecho
"the number is $j"
done
for
((初始值;迴圈控制條件;變數變化))do
程式done
應用案例
從1加到100的值輸出顯示
#!/bin/bash
# 列印1到100的和
sum=0
for(
(i=0;i<=100;i++))
do sum=$[
$sum+$i
]done
echo
"和為$sum"
while
[ 條件判斷式 ]
do 程式
done
應用例項:
從命令列輸入乙個數n,統計從1+…+n的值是多少?
#!/bin/bash
# 統計1+。。。+n的值是多少
sum=0
i=1while[$i
-le$1]do
sum=$[
$sum+$i
] i=$[
$i+1]
done
echo
"和為$sum"
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...