1. 程式人生 > 其它 >Shell——if語句

Shell——if語句

目錄

一、條件測試

二、檔案測試

三、整數值比較

四、字串比較

五、邏輯測試

六、if語句

七、case語句結構

一、條件測試

1、test命令

  測試表達式是否成立,若不成立返回0,否則返回其他數值

test 條件表示式     //或者
[ 條件表示式 ]

2、示例

二、檔案測試

1、格式

操作符 檔名或者目錄名

2、常用的測試操作符

-d∶ 測試是否為目錄(Directory)
-e∶ 測試目錄或檔案是否存在(Exist)
-f∶ 測試是否為檔案(File)
-r∶ 測試當前使用者是否有許可權讀取(Read)
-w∶ 測試當前使用者是否有許可權寫入(Write)
-x∶測試當前使用者是否有許可權執行(eXcute)
-L∶測試是否為軟連結檔案

3、示例

三、整數值比較

1、格式

[ 整數1 操作符 整數2 ]

2、常用的測試操作符

3、示例

3.1 結合邏輯與進行查詢當前目錄下的檔案數目

3.2 檢視系統記憶體是否低於或者高於1024M,如果滿足條件則提示

3.3 使用雙括號加數字進行表示

四、字串比較

1、格式

[ 字串1 = 字串2 ]      //判斷是否相等
[ 字串1 != 字串2 ]        //判斷是否不等[ -z 字串 ]

2、常用的測試操作符

  • =∶ 字串內容相同
  • !=∶ 字串內容不同,!號表示相反的意思
  • z∶字串內容為空

3、示例

五、邏輯測試

1、格式

[ 表示式1 ] 操作符 [ 表示式2 ]…
//或者 命令1 操作符 命令2…

2、常用的測試操作符

  • -a或&&∶ 邏輯與,"而且"的意思
  • -o或||∶ 邏輯或,"或者"的意思
  • !∶邏輯否

3、示例

六、if語句

1、單分支結構

如果只有一個判斷式要進行,那麼我們可以使用單分支的if語句

1.1 格式

if [ 條件判斷式 ];then
    當條件判斷成立時,可以進行的命令工作內容
fi

1.2 原理圖

1.3 示例

2、雙分支結構

在同一個資料的判斷中,如果該資料需要進行兩種不同的判斷,就使用雙分支if語句

2.1 格式

if [ 條件判斷式 ];then
    當條件判斷成立時,可以進行的命令工作內容
else 當條件判斷不成立時可以進行的命令工作內容 fi

2.2 原理圖

2.3 示例

3、多分支結構

如果資料需要進行多種不同的判斷,則可以使用多分支結構

3.1 格式

if [ 條件判斷式 ]; then
    當條件判斷成立時,可以進行的命令工作內容
elif [ 條件判斷式二 ]; then
    當條件判斷成立時,可以進行的命令工作內容
else   
    當上面的條件判斷都不成立時,可以進行的命令工作內容
fi     

3.2 原理圖

3.3 示例

七、case語句結構

1、格式

case 變數名稱 in
“第一個變數內容”
    程式段
    ;;
“第二個變數內容”
    程式段
    ;;
*)
    不包含第一個變數內容與第二個變數內容的其他程式執行段
    預設程式段
    ;;
esac  

2、示例

總結

多注意格式