shell測試結構及條件表示式的寫法

2021-07-08 21:00:46 字數 1193 閱讀 1647

shell中的測試結構有兩種:

1. test expression

2.[ expression ] :注意"["後 和 "]"前有空格

下面為幾種expression的寫法:

一、整數比較運算

num1 -eq num2    :如果num1 等於 num2,測試結果為0

num1 -ge num2     :如果num1大於或等於num2,測試結果為0

num1 -gt num2     :如果num1大於num2,測試結果為0

num1 -le num2     :如果num1小於或等於num2,測試結果為0

num1 -lt num2     :如果num1小於num2,測試結果為0

num1 -ne num2     :如果num1不等於num2,測試結果為0

二、字串運算子

string        :測試字串string是否不為空                      ::::注意:這種方式只有第一種測試結構

-n  string    :測試字串string是否為空

-z  string     :測試字串string是否為空

string1 = string2  :測試字串string1是否與字串string2相同

string1 != string2  :測試字串string1是否與字串string2不相同

三、檔案操作符

-d file         :測試file是否為目錄

-e file         :測試file是否存在

-f file          :測試file是否為普通檔案

-r file         :測試file是否為程序可讀檔案

-s file         :測試file的長度是否不為0

-w file         :測試file是否為程序可寫檔案

-x file         :測試file是否為程序可執行檔案

四、邏輯運算子

!expression     :若expression為假,則!expression 為真

expression1 -a expression2  :如果兩個條件同時為真,則測試結果為真

expression1  -o expression2  :如果兩個條件由乙個為真,則測試結果為真

當然一、二、三都可以與四結合使用

shell 條件表示式test

一 條件測試 測試語句 在bash的各種流程控制結構中通常要進行各種測試,然後根據測試結果執行不同的操作,有時也會通過與if等條件語句相結合,讓我們可以方便的完成判斷。格式1 test 測試表示式 格式2 條件表示式 格式3 條件表示式 說明 格式1和格式2是等價的。格式3為擴充套件的test命令,...

表示式和條件結構

計算順序 從右往左 double salary 3200.0 計算機是從右往左讀的 復合運算子 include using namespace std int main 關係運算子 include using namespace std int main 邏輯運算子 運算子表示式 說明 並且 條件1...

shell中的條件表示式

by francis hao oct 1,2017 本文摘錄自bash的man手冊 條件表示式是由復合命令 或內建命令 test 和 使用的,用於測試檔案屬性和字串或數值比較。表示式形式如下表所示,如果其中的file形式為 dev fd n,那麼將測試檔案描述符n,如果file是 dev stdin...