shell程式設計之條件語句
Shell程式設計之條件語句
我們經常在指令碼中使用條件判斷,當條件成立時,條件語句會返回特定的值。像test命令和**“[條件表示式]”這種型別是用來判斷條件是否成立。當然我們也有if**條件語句。
條件判斷
我們經常用**[ 表示式 ]**來判斷,如[ 3 -eq 5 ],顯然這個表示式是不成立的。再比如[ -d /media/cdrom ],echo $?,返回值為0.說明上述條件判斷是成立的。
那麼我們常用的條件判斷符號有:
- -d:判斷是否為目錄;
-e:判斷目錄或檔案是否存在;
-f:判斷是否為檔案;
-r:判斷當前使用者是否有許可權讀取;
-w判斷當前使用者是否有權寫入;
-x:判斷當前使用者是否有權執行。
- =:判斷兩邊字串是否相同;
!=:判斷兩邊字串不同,
!為取反的意思;
-z:為判斷字串是否為空。
- -eq:表示兩數字相等;
-ge:表示大於等於;
-le:表示小於等於;
-gt:表示大於;
-lt:表示小於。
if語句的結構
if語句與判斷條件結合,可以執行指定好的命令操作。如,條件成立則執行命令1;條件不成立則執行命令2 。
if語句有單分支結構,即滿足某個條件就執行某個命令。雙分支結構即,滿足某個條件則執行命令1,否則執行命令2 。多分支結構是要有多個判斷要執行。具體格式為:
-
單分支結構:
if [表示式];then
命令1
fi
-
雙分支結構:
if [表示式];then
命令1
else
命令2
fi -
多分支結構:
if [表示式1];then
命令1
elif [表示式2];then
命令2
…
指令碼案例
用if雙分支來判斷主機是否線上。
#!/bin/bash
echo "這是檢測主機是否線上的指令碼."
contain=$(cat /opt/ipadd.txt)
for test in $contain
do
ping -c2 -i0.2 -W1 $test &> /dev/nell
if [ $? -eq 0 ]
then
echo "$test,主機線上"
else
echo "$test,主機不線上"
fi
done
使用if多分支結構判斷數字大小猜數字指令碼
n=0
echo "這是一個猜價格的遊戲,價格在1~1000的範圍內."
jiage=$(expr $RANDOM % 1000)
while true
do
read -p "請輸入你猜的價格:" cai
if [ $cai -eq $jiage ]
then
let n++
echo "恭喜你猜對了!它的價格是:$jiage.你一共猜了$n次."
exit 0
elif [ $cai -gt $jiage ]
then
let n++
echo "你猜的價格高了,猜低一點."
elif [ $cai -lt $jiage ]
then
let n++
echo "你猜的價格低了,猜高一點."
fi
done
相關文章
- 02 shell程式設計之條件語句程式設計
- 04 shell程式設計之迴圈語句程式設計
- shell程式設計(五)條件判斷程式設計
- 03 shell程式設計之case語句與函式程式設計函式
- 條件語句
- GO 條件語句Go
- javaScript條件語句JavaScript
- 03_SHELL程式設計之條件判斷和流程控制程式設計
- 06_SHELL程式設計之CASE語句+函式+正則程式設計函式
- Go:條件控制語句Go
- if條件語句sed命令
- 04.條件語句
- shell程式設計中的控制判斷語句程式設計
- 《shell條件測試語句,字串測試apache是否開啟》字串Apache
- javascript新手入門之條件語句,迴圈JavaScript
- 【Golang 基礎系列十】Go 語言 條件語句之ifGolang
- Linux Shell指令碼程式設計while語句案例Linux指令碼程式設計While
- Swift 條件語句講解Swift
- PL/SQL 條件控制語句SQL
- 學習Rust 條件語句Rust
- Python if else條件語句Python
- oracle中的條件語句Oracle
- 7、條件結構語句
- 『忘了再學』Shell流程控制 — 34、if條件判斷語句(二)
- 『忘了再學』Shell流程控制 — 35、多分支case條件語句
- 『忘了再學』Shell流程控制 — 33、if條件判斷語句(一)
- Python-條件語句和迴圈語句Python
- 13.Linuxshell程式設計(條件語句和標準輸出重定向)Linux程式設計
- shell 學習之for語句
- python-條件控制(if語句)Python
- 草根學Python(五) 條件語句和迴圈語句Python
- golang常用手冊:運算子、條件語句、迴圈語句Golang
- Python條件語句與迴圈Python
- php中條件語句的使用整理PHP
- Python if else條件語句詳解Python
- Python 入門 :基本條件語句Python
- SqlServer中迴圈和條件語句SQLServer
- SQL SERVER 條件語句的查詢SQLServer