shell腳本之 if,case,for的用法
阿新 • • 發佈:2018-03-18
if case for目錄
一.條件選擇:if語句
二.條件判斷:case語句
三.for循環
一.條件選擇: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 判斷條件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 inseq 1 $i
;do
echo -n -e " $i"x"$n=$[i*n] "
done
echo
done(每一個for要對應一個done)
shell腳本之 if,case,for的用法