shell常用測試命令

來源:互聯網
上載者:User

標籤:

預定義變數:                                                                                                                                                        

 預定義變數是由Bash程式預先定義好的一類特殊變數,使用者只能使用預定義變數,而不能建立新的預定義變數,也不能直接為預定義變數賦值。預定義比變數使用"$"符合和另一個符號組合表示。

$#:表示命令中位置參數的個數。

$*:表示所有位置參數的內容。

$?:表示前一條命令執行後的返回狀態,傳回值為0表示執行正確,任何非0值均表示出現異常。

$0:表示當前執行的指令碼或程式的名稱。

 

檔案測試:                                                                                                                                                           

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

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

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

-r測試目前使用者是否有許可權讀(Read)。

-w測試目前使用者是否有許可權寫(Write)。

-x測試是否有執行許可權(Excute)。

附:-d參數使用樣本:#[ -d /tmp/ ] 

          #echo $?    //查看前一條命令的傳回值,0表示成立,tmp目錄存在。

          #[ -d /tmp/ ]  && echo "YES"  //如果tmp目錄存在則在螢幕上列印YES。

 

整數值比較:                                                                                                                                         

-eq第1個數等於(Equal)第2個

-ne第1個數不等於(Not Equal)第2個數

-gt第1個數大於(Greater Than)第2個數

-lt第1個數小於(Lesser Than)第2個數

-le第1個數小於或等於(Lesser or Equal)第2個數

-ge第1個數大於或等於(Greater or Equal)第2個數

  附:-gt參數使用樣本:#[ 6 -gt 5 ] && echo "Too many"

 

字串比較:                                                                                                                                                

=第1個字串與第2個字串相同。

!=第1個字串與第2個字串不相同,其中“!”表示取反的意思。

-z檢查字串是否為空白(Zero),對於未定義或賦予空值的變數將視為空白串。

 

邏輯測試:                                                                                                                                             

 與&&:邏輯與,表示“而且”的意思,只有當前後兩個條件都成立時,整個測試命令的傳回值才為0。使用Test命令測試時,“&&”可以改為“-a”。

或||:邏輯或,表示“或者”的意思,只要前後兩個條件中有一個成立時,整個測試命令的傳回值即為0(結果成立)。使用Test命令測試時,“||”可以改為“-o”。

非!:邏輯否,表示“不”的意思,只有當指定的條件不成立時,整個測試命令的傳回值才為0(結果成立)。

 

       

shell常用測試命令

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.