LinuxShell 腳本條件語句的運用

一、條件測試操作

1)test 測試命令

基本格式:test條件表達式

或[條件表達式]

文件測試參數

-d測試是否爲目錄

-e測試目錄或文件是否存在

-f測試是否爲文件

-r測試當前用戶是否有權限讀取

-w測試當前用戶是否有權限寫入

-x測試是否設置有可執行權限

例:檢測目錄/media/cdrom 是否存在

結合命令分隔符"&&"和echo命令一起使用,可以更直觀的輸出測試結果

例:

2)整數值比較

-eq 等於(=)

-ne 不等於(≠)

-gt 大於(>)

-lt 小於 (<)

-le 小於等於 (≤)

-ge 大於等於 (≥)

例:統計當前目錄下的文件和子目錄個數

例:判斷當前可用的空前內存是否小於1024MB

3)字符串比較

= 第一個字符串與第二個字符串相同

!= 第一個字符串與第二個字符串不相同,其中"!"符號表示取反的意思

-z 檢測字符串是否爲空,對於未定義或賦予空值的變量將視爲空串

例:

例:結合read命令使用

4)邏輯測試

&&邏輯與,可替換爲 -a

||邏輯或,可替換爲 -o

!邏輯否

例:查看Linux 系統的內核版本是否大於2.4

二、if 語句的使用

1)單分支if 語句

基本格式:

if條件測試操作

then

命令序列

fi

執行流程圖:

例1:判斷 /media/cdrom 目錄是否存在,若不存在則新建此目錄

例2:檢測當前登錄用戶是否爲root,其中"exit 1"退出腳本(1表示退出後的返回狀態值)

2)雙分支if語句

基本格式:

If條件測試操作

then

命令序列1

else

命令序列2

fi

執行流程:

例1:檢測目標主機是否存在

例2:檢測服務運行狀態

3)多分支 if 語句

基本格式:

if條件測試操作1

then

命令序列1

elif條件測試操作2

then

命令序列2

else

命令序列3

fi

執行流程:

例:根據輸入的考試分數不同來區分優秀、合格、不合格三檔

例:檢測任意服務運行狀態

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章