shell指令碼及條件測試

2021-05-24 11:04:05 字數 1210 閱讀 8340

#!bin/sh開頭

chmod +x filename 後./filename執行

變數都由字串組成

環境變數生成:export 變數

條件測試操作

1.test命令   

在shell環境中,可以根據命令執行後的返回狀態值來判斷該命令是否成功執行,當返回值為

0時表示成功執行,否則(非0值)表示執行失敗。

test測試命令時,可以由以下兩種形式:

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

2.測試檔案狀態

[ 操作符 檔案或目錄 ]

常用的操作符如下:

-d:測試是否為目錄(directory)。

-e:測試目錄或檔案是否存在(exist)。

-f:測試是否為檔案(file)。

-r:測試當前使用者是否有許可權讀取(read)。

-w:測試當前使用者是否有許可權寫入(write)。

-x:測試當前使用者是否有許可權執行該檔案(execute)。

3.整數值比較

[ 第1個整數 操作選項 第2個整數 ]

常用的操作選項如下:

-eq:等於(equal)。

-ne:不等於(not equal)。

-gt:大於(greater than)。

-lt:小於(lesser than)。

-le:小於或等於(lesser or equal)。

-ge:大於或等於(greater or equal)。

4.字串比較

[ 字串1 操作選項 字串2 ]

常用的操作選項如下:

=:匹配。

!=:不匹配。

-z str:str長度為0

-n str:str長度不為0

5.邏輯測試

[ 條件表示式1 操作選項 條件表示式2 ]

常用的操作選項如下:

&&:邏輯與,前後兩個表示式都成立時整個測試結果才為真,否則為假。在使用test命令

形式進行測試時,此選項可以改為「-a」。

||:邏輯或,前後兩個條件至少有乙個成立時整個測試結果即為真,否則為假。在使用test

形式進行測試時,此選項可以改為「-o」。

!:邏輯否,表示當指定條件表示式不成立時,整個測試命令的結果為真。

6.空值測試

["$name"=""]

[!"$name"]

Shell指令碼的條件測試和if條件語句使用方法

一 條件測試操作 要使shell指令碼程式具備一定的 智慧型 面臨的第乙個問題就是如何區分不同的情況以確定執行何種操作。shell環境根據命令執行後的返回狀態值 來判斷是否執行成功,當返回值為0時表示成功,否則 非0值 表示失敗或異常。使用專門的測試工具 test命令,可以對特定條件進行測試,並根據...

1 3 Shell指令碼條件測試

布林變數中真為0,假為1。所以可以根據測試機制來判斷語句的返回值。測試機制可以使用下面語法實現 test表示式或 表示式 或 表示式 表示式前後必須有空格。注意 表示式一般用於 中 擴充套件的正規表示式 根據命令的返回值,可以使用邏輯運算讓語句有條件的執行。bin bash 計算第乙個檔案中空行數 ...

Shell指令碼語法 條件測試 test

命令test或 可以測試乙個條件是否成立,如果測試結果為真,則該命令的exit status為0,如果測試結果為假,則命令的exit status為1 注意與c語言的邏輯表示正好相反 例如測試兩個數的大小關係 var 2 test var gt 1 echo 0 test var gt 3 echo...