目錄
一.條件選擇:if語句
二.條件判斷:case語句
三.for循環
一.條件選擇:if語句
-
單分支
if 判斷條件;then
條件爲真的分支代碼
fi
例子:判斷一個數字是否等於10#!/bin/bash read -p '輸入一個數字' num if [ $num -eq 10 ];then echo 該數字等於10 fi
-
雙分支
if 判斷條件; then 條件爲真的分支代碼
else 條件爲假的分支代碼
fi
例子:判斷一個數字是否大於10#!/bin/bash read -p '輸入一個數字' num if [ $num -gt 10 ];then echo 該數字大於10 else echo 該數字不大於10 fi
-
多分枝
if 判斷條件1; then 條件爲真的分支代碼
elif 判斷條件2; then 條件爲真的分支代碼
elif 判斷條件3; then 條件爲真的分支代碼
else 以上條件都爲假的分支代碼
fi
例子:判斷一個數字的範圍#!/bin/bash read -p '輸入一個數字' num if [ $num -lt 10 ];then echo 該數字小於10 elif [ $num -ge 10 -a $num -lt 20 ];then echo 該數字大於等於10小於20 elif [ $num -ge 20 -a $num -lt 50 ];then cho 該數字大於等於20小於50 else echo 該數字大於等於50 fi
二.條件判斷case語句
-
case $變量名 in
條件1)
分支1;;
條件2)
分支2;;
默認條件 *)
默認分支;;
esac
每個條件後面跟 )結尾 每個分支後面以 ;; 結束
例子
寫一個能判斷yes/no的腳本,(大小寫均能識別,yes九種可能,no四種可能)、#!/bin/bash read -p "請輸入yes|no: " q case $q in [Yy][Ee][Ss]|[Yy]) echo "yes";; [Nn][Oo]) echo "no";; *) echo "請輸入正確的格式" esac
三.for循環
執行機制:依次將列表中的元素賦值給“變量名”; 每次賦值後即執 行一次循環體; 直到列表中的元素耗盡,循環結束
for 變量名 in 列表;do
循環體
done
例1 利用for循環 計算1到10所有正整數之和
#!/bin/bash let s=0 for n in echo {1..10};do s=$[$s+$n] echo $s done
例2 利用for循環打印99乘法表
#!/bin/bash for i in {1..9};do for n in `seq 1 $i`;do echo -n -e " $i"x"$n=$[i*n] " done echo done (每一個for要對應一個done)
-