shell指令碼基礎知識梳理《二》 測試操作符

2021-09-27 05:37:08 字數 1385 閱讀 7306

一、整數測試符 比較大小;注:操作符兩邊必須留空格

[ intnum1 -eq intnum2 ] 或是 [[ intnum1 -eq intnum2 ]]

-eq:等於

[ intnum1 -ne intnum2 ]或是 [[ intnum1 -ne intnum2 ]]

-ne:不等於

[ intnum1 -gt intnum2 ]或是 [[ intnum1 -gt intnum2 ]]

-gt:大於

[ intnum1 -ge intnum2 ]或是 [[ intnum1 -ge intnum2 ]]

-ge:大於等於

[ intnum1 -lt intnum2 ]或是 [[ intnum1 -lt intnum2 ]]

-lt: 小於

[ intnum1 -le intnum2 ]或是 [[ intnum1 -le intnum2 ]]

-le:小於等於

((intnum1 == intnum2)) 兩邊的空格可以省略

兩個數等於返回真

((intnum1 != intnum2))

兩個數不等於返回真

((intnum1 > intnum2))

兩個數大於返回真

((intnum1 >= intnum2))

兩個數大於或等於返回真

((intnum1 < intnum2))

兩個數小於於返回真

((intnum1 <= intnum2))

兩個數小於或等於返回真

二、檔案測試  這些操作符合對於、、test幾乎通用,更多man test

檔案存在且為普通檔案為真,即測試表示式成

-d 檔案(目錄)

檔案存在且為目錄檔案為真,即測試表示式成立

-s 檔案

檔案存在且為大小不為0則真,即測試表示式成立

-e 檔案

檔案存在為真,即測試表示式成立,只要有檔案就行,要區別與「-f」

-r 檔案

檔案存在且可讀則真,即測試表示式成立

-w 檔案

檔案存在且可寫則真,即測試表示式成立

-x 檔案

檔案存在且可執行則真,即測試表示式成立

-l 檔案

檔案存在且為鏈結檔案則真,即測試表示式成立

三、字串測試符

-z "字串" 

若字串長度為0則真;[ -z "abc" ]&&echo 1||echo 0

- n "字串"

若字串長度不為0則真

"字串1" = "字串2"

兩個字串相等為真

"字串1" != "字串2"

兩個字串不相等為真

注意字串用雙引號包含;比較符兩端有空格

四、邏輯連線符

shell指令碼基礎知識梳理《十》 陣列

陣列定義 靜態定義 array 1 2 3 動態定義 array ls 陣列賦值 array 3 4 列印陣列 echo 列印陣列元素用 下標是從0開始 echo 下標是或者 得到整個陣列內容 echo 得到陣列長度 批量檢查多個 位址是否正常 要求 shell陣列方法實現,檢測策略盡量模擬使用者訪...

Shell指令碼基礎知識

shell 變數 命名規則 首字元為字母 中間不能有空格,可用下劃線 不能使用標點和bash的關鍵字 賦值 顯示命名 不能加 語句賦值 唯讀變數 readonly variable name 刪除變數 unset varible name 不能刪除唯讀變數 shell字串 字串可以用單引號 雙引號 ...

shell指令碼基礎知識

自定義shell變數時,變數有什麼規格?可以使用字母,數字,下劃線,不能以數字開頭 變數名區分大小寫 賦值時等號兩邊不要有空格 不要使用關鍵字或特殊字元,給同乙個變數多次賦值時,最後一次生效。簡述預定義變數 0 的作用?儲存當前執行的程式pid號 上乙個執行命令的返回狀態 0 當前執行的指令碼名 位...