linux脚本判断流程控制,Shell 脚本-6- 流程控制之判断分支
1. if-else
if-else 的判斷表達式為中括號[]
注意關鍵字elif, 不是elseif, 不要搞錯了
注意是以關鍵字fi 結尾, 不是以if 結尾
注意if , [, 條件表達式, ] , ; , then 直接都要有空格
注意代碼縮進
1.1 if-fi 結構
shell 中的if 語句有兩種寫法, 筆者習慣于使用第一種.
含義: 如果表達式為true, 則執行程序
# 第一種寫法: 需要寫; 要注意縮進
if [ 條件判斷表達式 ] ; then
# 程序塊兒
fi
# 第二中寫法: 不需要寫; 要注意縮進
if [ 條件判斷表達式 ]
then
#程序塊兒
fi
1.2 if-else-fi 結構
由于if 有兩種寫法, 所以對應的if-else-fi 也有兩種寫法, 筆者就只列出第一種結構了
含義: 如果條件表達式為true,則執行程序塊兒一, 否則執行程序塊兒二
if [ 條件判斷表達式 ] ; then
# 程序塊兒一
else
# 程序塊兒二
fi
1.3 if-elif=else-fi
由于if 有兩種寫法, 所以對應的if-elif-else-fi 也有兩種寫法, 筆者就只列出第一種結構了
含義: 如果條件表達式一為true,則執行程序塊兒一,如果條件表達式二為true,則執行代碼塊兒二, 否則執行程序塊兒三
if [ 條件判斷表達式 ] ; then
# 程序塊兒一
elif [ 條件判斷表達式二 ] ; then
# 程序塊兒二
else
# 程序塊兒三
fi
1.4 示例程序
#!/bin/bash
read -p "請輸入一個數字:" num
if [ $num -eq 20 ] ; then
echo "$num > 20"
elif [ $num -eq 100 ] ; then
echo "$num > 100"
else
echo "$num < 20"
fi
** 輸出結果 **
[admin@localhost shell]$ ./if.sh
請輸入一個數字:1
1 < 20
[admin@localhost shell]$
2. case 多分支選擇
case 是多分枝選擇結構, 即一個判斷表達式可以有多種匹配選項.
;; 為跳出case 語句,類似于java 中的break;
表示什么都不匹配時執行.
2.1 case 結構
case 字符串表達式 in
"值1")
程序塊兒
;; #跳出case結構,相當于break;
"值2")
程序塊兒
;;
...
*)
程序塊兒 (不滿足以上所有條件)
;;
esac
2.2 示例程序
#!/bin/bash
#輸出菜單
echo " Menu "
echo " 1. Beijing - Tianjin"
echo " 2. Tianjin - Beijing"
echo " 3. qingdao - Beijing"
echo " 4. Beijing - Qingdao"
#讀入輸出:
read -p "Please input your chooise: " jour
#判斷用戶輸入
case "$jour" in
"1")
echo " Beijing - Tianjin "
;;
"2")
echo " Tianjin - Beijing "
;;
"3")
echo " Qingdao - Beijing "
;;
"4")
echo " Beijing - Qingdao "
;;
*)
echo " Your chooise Error !"
;;
esac
** 輸出結果: **
[admin@localhost shell]$ ./case.sh
Menu
1. Beijing - Tianjin
2. Tianjin - Beijing
3. qingdao - Beijing
4. Beijing - Qingdao
Please input your chooise: 1
Beijing - Tianjin
[admin@localhost shell]$
總結
以上是生活随笔為你收集整理的linux脚本判断流程控制,Shell 脚本-6- 流程控制之判断分支的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3dmax怎么使用梦景创建一个美丽的日落
- 下一篇: ceph linux内核配置,cento