shell 常用的判斷條件

-bfile若文件存在且是一個塊特殊文件,則爲真

  -cfile若文件存在且是一個字符特殊文件,則爲真

  -dfile若文件存在且是一個目錄,則爲真

  -efile若文件存在,則爲真

  -ffile若文件存在且是一個規則文件,則爲真

  -gfile若文件存在且設置了SGID位的值,則爲真

  -hfile若文件存在且爲一個符合鏈接,則爲真

  -kfile若文件存在且設置了"sticky"位的值

  -pfile若文件存在且爲一已命名管道,則爲真

  -rfile若文件存在且可讀,則爲真

  -sfile若文件存在且其大小大於零,則爲真

  -ufile若文件存在且設置了SUID位,則爲真

  -wfile若文件存在且可寫,則爲真

  -xfile若文件存在且可執行,則爲真

  -ofile若文件存在且被有效用戶ID所擁有,則爲真

  -zstring若string長度爲0,則爲真

  -nstring若string長度不爲0,則爲真

  string1=string2若兩個字符串相等,則爲真

  string1!=string2若兩個字符串不相等,則爲真

  int1-eqint2若int1等於int2,則爲真

  int1-neint2若int1不等於int2,則爲真

  int1-ltint2若int1小於int2,則爲真

  int1-leint2若int1小於等於int2,則爲真

  int1-gtint2若int1大於int2,則爲真

  int1-geint2若int1大於等於int2,則爲真

  !expr若expr爲假則複合表達式爲真。expr可以是任何有效的測試表達式

  expr1-aexpr2若expr1和expr2都爲真則整式爲真

  expr1-oexpr2若expr1和expr2有一個爲真則整式爲真

  特殊變量

  $0正在被執行命令的名字。對於shell腳本而言,這是被激活命令的路徑

  $n該變量與腳本被激活時所帶的參數相對應。n是正整數,與參數位置相對應($1,$2…)

  $#提供腳本的參數號

  $*所有這些參數都被雙引號引住。若一個腳本接收兩個參數,$*等於$1$2

  $@所有這些參數都分別被雙引號引住。若一個腳本接收到兩個參數,$@等價於$1$2

  $?前一個命令執行後的退出狀態

  $$當前shell的進程號。對於shell腳本,這是其正在執行時的進程ID

  $!前一個後臺命令的進程號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章