shell中if語句特殊引數

2021-07-03 08:37:16 字數 1083 閱讀 5884

shell中if語句特殊引數

-d:判斷制定的是否為目錄

-z:判斷制定的變數是否存在值

-n:判斷指定的變數是否為null

-f:判斷制定的是否為檔案

-l:判斷制定的是否為符號鏈結

-r:判斷制定的是否可讀

-s:判斷存在的物件長度是否為0

-w:判斷制定的是否可寫

-x:判斷存在的物件是否可以執行

!:測試條件的否定符號

條件表示式

檔案表示式

if [ -f  file ]    如果檔案存在

if [ -d ...   ]    如果目錄存在

if [ -s file  ]    如果檔案存在且非空

if [ -r file  ]    如果檔案存在且可讀

if [ -w file  ]    如果檔案存在且可寫

if [ -x file  ]    如果檔案存在且可執行   

整數變數表示式

if [ int1 -eq int2 ]    如果int1等於int2   

if [ int1 -ne int2 ]    如果不等於    

if [ int1 -ge int2 ]       如果》=

if [ int1 -gt int2 ]       如果》

if [ int1 -le int2 ]       如果<=

if [ int1 -lt int2 ]       如果<

字串變數表示式

if  [ $a = $b ]                 如果string1等於string2

字串允許使用賦值號做等號

if  [ $string1 !=  $string2 ]   如果string1不等於string2       

if  [ -n $string  ]             如果string 非空(非0),返回0(true)  

if  [ -z $string  ]             如果string 為空

if  [ $sting ]                  如果string 非空,返回0 (和-n類似) 

SHELL中的特殊引數

幾個需要記住的特殊引數 0 shell 名稱或 shel 指令碼名稱 1 第乙個 1 shell 引數 9 第九個 9 shell 引數 位置引數的個數 1 2 3 4 n 1 2 3 4 n 最近執行的命令的退出狀態 當前 shell 指令碼的 pid 最近啟動的後台作業的 pid 需要記住的基本...

學習筆記 shell中位置引數及特殊引數

0,1,2,等等.位置引數,從命令列傳遞給指令碼,或者是傳遞給函式.或者賦職給乙個變數.0表示當前執行的程序名,script 本身的名字,或者在正規表示式中表示整行輸出 命令列或者是位置引數的個數.所有的位置引數,被作為乙個單詞.注意 必須被 引用.與 同義,但是每個引數都是乙個獨立的 引用字串,這...

shell幾個特殊引數應用

1 使用引數 0可以確定shell從命令列啟動的程式的名稱,注意 0傳遞的是程式的完整路徑,而不僅僅是程式的名稱 例 cat test.sh bin bash testing the 0 parameter echo the command entered is 0 test.sh the comm...