shell 中if命令詳解(備查)

2021-05-27 16:43:29 字數 2250 閱讀 2310

if [表示式] =if test 表示式

引數目錄:

–b 當file存在並且是塊檔案時返回真

-c 當file存在並且是字元檔案時返回真

-d 當pathname存在並且是乙個目錄時返回真

-e 當pathname指定的檔案或目錄存在時返回真

-f 當file存在並且是正規檔案時返回真

-g 當由pathname指定的檔案或目錄存在並且設定了sgid位時返回為真

-h 當file存在並且是符號鏈結檔案時返回真,該選項在一些老系統上無效

-k 當由pathname指定的檔案或目錄存在並且設定了「粘滯」位時返回真

-p 當file存在並且是命令管道時返回為真

-r 當由pathname指定的檔案或目錄存在並且可讀時返回為真

-s 當file存在檔案大小大於0時返回真

-u 當由pathname指定的檔案或目錄存在並且設定了suid位時返回真

-w 當由pathname指定的檔案或目錄存在並且可執行時返回真。乙個目錄為了它的內容被訪問必然是可執行的。

-o 當由pathname指定的檔案或目錄存在並且被子當前程序的有效使用者id所指定的使用者擁有時返回真。

比較字元寫法:

-eq   等於

-ne    不等於

-gt    大於

-lt    小於

-le    小於等於

-ge   大於等於

-z    空串

=     兩個字元相等

!=    兩個字元不等

-n    非空串

test命令用法:

1)判斷表示式

if test (表示式為真)

if test !表示式為假

test 表示式1 –a 表示式2     兩個表示式都為真

test 表示式1 –o 表示式2     兩個表示式有乙個為真

2)判斷字串

test –n 字串             字串的長度非零

test –z 字串             字串的長度為零

test 字串1=字串2       字串相等

test 字串1!=字串2      字串不等

3)判斷整數

test 整數1 –eq 整數2       整數相等

test 整數1 –ge 整數2       整數1大於等於整數2

test 整數1 –gt 整數2       整數1大於整數2

test 整數1 –le 整數2       整數1小於等於整數2

test 整數1 –lt 整數2       整數1小於整數2

test 整數1 –ne 整數2       整數1不等於整數2

4)判斷檔案

test file1 –ef file2      兩個檔案具有同樣的裝置號和i結點號

test file1 –nt file2      檔案1比檔案2 新

test file1 –ot file2      檔案1比檔案2 舊

test –b file              檔案存在並且是塊裝置檔案

test –c file              檔案存在並且是字元裝置檔案

test –d file              檔案存在並且是目錄

test –e file              檔案存在

test –f file              檔案存在並且是正規檔案

test –g file              檔案存在並且是設定了組id

test –g file              檔案存在並且屬於有效組id

test –h file              檔案存在並且是乙個符號鏈結(同-l)

test –k file              檔案存在並且設定了sticky位

test –b file              檔案存在並且是塊裝置檔案

test –l file              檔案存在並且是乙個符號鏈結(同-h)

test –o file              檔案存在並且屬於有效使用者id

test –p file              檔案存在並且是乙個命名管道

test –r file              檔案存在並且可讀

test –s file              檔案存在並且是乙個套接字

test –t fd                檔案描述符是在乙個終端開啟的 

shell中grep命令詳解

用 grep 搜尋文字檔案 如果您要在幾個文字檔案中查詢一字串,可以使用 grep 命令。grep 在文字中搜尋指定的字串。舉個例子 假設您正在 usr src linux documentation 目錄下搜尋帶字串 magic 的檔案 grep magic usr src linux docum...

shell中wait命令詳解

wait命令介紹 wait 作業指示或程序號 1.等待作業號或者程序號制定的程序退出,返回最後乙個作業或程序的退出狀態狀態。如果沒有制定引數,則等待所有子程序的退出,其退出狀態為0.2.如果是shell中等待使用wait,則不會等待呼叫函式中子任務。在函式中使用wait,則只等待函式中啟動的後台子任...

shell中的ps命令詳解

linux中的ps命令是process status的縮寫。ps命令用來列出系統中當前執行的那些程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程...