Shell 中常用的條件判斷

來源:互聯網
上載者:User

-b file            若檔案存在且是一個塊特殊檔案,則為真
-c file            若檔案存在且是一個字元特殊檔案,則為真
-d file            若檔案存在且是一個目錄,則為真
-e file            若檔案存在,則為真
-f file            若檔案存在且是一個規則檔案,則為真
-g file            若檔案存在且設定了SGID位的值,則為真
-h file            若檔案存在且為一個符合連結,則為真
-k file            若檔案存在且設定了"sticky"位的值
-p file            若檔案存在且為一已具名管道,則為真
-r file            若檔案存在且可讀,則為真
-s file            若檔案存在且其大小大於零,則為真
-u file            若檔案存在且設定了SUID位,則為真
-w file            若檔案存在且可寫,則為真
-x file            若檔案存在且可執行,則為真
-o file            若檔案存在且被有效使用者ID所擁有,則為真

-z string          若string長度為0,則為真
-n string          若string長度不為0,則為真
string1 = string2  若兩個字串相等,則為真
string1 != string2 若兩個字串不相等,則為真

int1 -eq int2      若int1等於int2,則為真
int1 -ne int2      若int1不等於int2,則為真
int1 -lt int2      若int1小於int2,則為真
int1 -le int2      若int1小於等於int2,則為真
int1 -gt int2      若int1大於int2,則為真
int1 -ge int2      若int1大於等於int2,則為真

!expr              若expr為假則複合運算式為真。expr可以是任何有效測試運算式
expr1 -a expr2     若expr1和expr2都為真則整式為真
expr1 -o expr2     若expr1和expr2有一個為真則整式為真

特殊變數 $0                 正在被執行命令的名字。對於shell指令碼而言,這是被啟用命令的路徑
$n                 該變數與指令碼被啟用時所帶的參數相對應。n是正整數,與參數位置相對應($1,$2…)
$#                 提供指令碼的參數號
$*                 所有這些參數都被雙引號引住。若一個指令碼接收兩個參數,$*等於$1$2
$@                 所有這些參數都分別被雙引號引住。若一個指令碼接收到兩個參數,$@等價於$1$2
$?                 前一個命令執行後的退出狀態
$$                 當前shell的進程號。對於shell指令碼,這是其正在執行時的進程ID
$!                 前一個後台命令的進程號

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.