系統變數
$n 傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如,第乙個引數是$1,第二個引數是$2檔案或目錄判斷$? 上個命令的退出狀態,或函式的返回值。成功返回0,失敗返回1
$# 傳遞給指令碼或函式的引數個數
$* 所有這些引數都被雙引號引住。若乙個指令碼接收兩個引數,$*等於$1$2
$0 正在被執行命令的名字。對於shell指令碼而言,這是被啟用命令的路徑
$@ 被雙引號(」 「)包含時,與 $* 稍有不同。若乙個指令碼接收到兩個引數,$@等價於$1$2
$$ 當前shell的程序號。對於shell指令碼,這是其正在執行時的程序id
$! 前乙個後台命令的程序號
-b file 若檔案存在且是乙個塊特殊檔案,則為真整數判斷-c file 若檔案存在且是乙個字元特殊檔案,則為真
-d file 若檔案存在且是乙個目錄,則為真
-e file 若檔案存在,則為真
-f file 若檔案存在且是乙個規則檔案,則為真
-g file 若檔案存在且設定了sgid位的值,則為真
-h file 若檔案是軟鏈結,則為真
-k file 若檔案存在且設定了」sticky」位的值
-l file 若檔案為符號鏈結,則為真
-p file 若檔案存在且為一已命名管道,則為真
-r file 若檔案可讀,則為真
-s file 判斷檔案是否存在,且是否為非空,不為空,則為真
-s file 判斷檔案是否存在,且是否為套接字檔案
-t file 檔案描述符(預設為1)指定的裝置為終端時為真
-u file 若檔案存在且設定了suid位,則為真
-w file 若檔案可寫,則為真
-x file 若檔案可執行,則為真
[ file1 -nt file2 ] 若file1比file2新,或file1存在但file2不存在,則為真
[ file1 -ot file2 ] 若file1比file2老,或file2存在但file1不存在,則為真
[ file1 -ef file2 ] 若file1和file2指向相同的裝置和節點號則返回,為真
-eq 兩數相等,則為真 例:if [ "$a" -eq "$b" ]邏輯運算判斷符-ne 兩數不相等,則為真 例:if [ "$a" -ne "$b" ]
-gt a大於b,則為真 例:if [ "$a" -gt "$b" ]
-ge 大於或等於,則為真 例:if [ "$a" -ge "$b" ]
-lt a小於b,則為真 例:if [ "$a" -lt "$b" ]
-le a小於或等於b,則為真 例:if [ "$a" -le "$b" ]
< 小於(需雙括號) 例:(("$a" < "$b"))
<= 小於等於(需雙括號) 例:(("$a" <= "$b"))
> 大於(需雙括號) 例:(("$a" > "$b"))
>= 大於等於(需雙括號) 例:(("$a" >= "$b"))
小資料比較可使用awk。
! [ ! false ] 返回true 邏輯否,條件為假,結果為真字串判斷-a [ $a -lt 2 -a $b -gt 5 ] 返回true 邏輯與,兩個表示式都為真,則為真
-o [ $a -lt 2 -o $b -gt 5 ] 返回true 邏輯或,只要有乙個表示式為true,則為真
[ ] || [ ] 用or來合併兩個條件
[ ] && [ ] 用and來合併兩個條件
== 若兩個字串相同則為真,與=等價 例:[ "str1" = "str2" ]注意:在結構中」< 「需要被轉義,例如:[ "str1" /< "str2" ],在雙中括號中則無需轉義。 總結:使用-n在結構中測試,必須要用""把變數引起來,使用乙個未被""的字串,請使用 ! -z ,如果使用未被雙引號變數,雖然可以工作,但這並不安全,習慣於使用雙引號括住變數測試字串是一種良好的習慣。 另外,[[ ]] 結構比[ ]結構更加通!= 若字串不相同則為真 例:[ "str1" != "str2" ]
< 若str1字典排序在str2前則為真 例:[[ "str1" < "str2" ]] > 若str1字典排序在str2後則為真 例:[ "str1" \> "str2" ]
-n 若str長度非零則為真,即非空 例:[ -n "str1" ]
-z 若file長度為零,即空,則為真 例:[ -z "str1" ]
編寫SHELL指令碼 判斷使用者的引數
測試語句格式 條件表示式 常見的幾種形式 d etc 判斷 etc是不是乙個目錄型別,e etc php.ini 判斷 etc php.ini 檔案是否存在 f etc php.ini 判斷 etc php.ini 是不是一般檔案 r etc php.ini 判斷 etc php.ini 當前使用者...
編寫SHELL指令碼 判斷使用者的引數
測試語句格式 條件表示式 常見的幾種形式 d etc 判斷 etc是不是乙個目錄型別,e etc php.ini 判斷 etc php.ini 檔案是否存在 f etc php.ini 判斷 etc php.ini 是不是一般檔案 r etc php.ini 判斷 etc php.ini 當前使用者...
shell指令碼程式設計 變數補充 if條件判斷
shell指令碼程式設計 變數補充 if條件判斷 變數的型別 字串 數值 布林型別 null shell中指定變數的型別 declaredeclare 內建命令 用來宣告和修改變數的屬性 唯讀 readonly 設定為唯讀變數 declare r a 10 不能修改包括不能刪除 設定為數值變數 de...