特殊字元對應的處理參數:
參數 | 說明 |
$0 | 目前執行的腳本檔案名,若全路徑執行,則顯示腳本路徑 |
$n | 目前執行腳本的第n個參數值,若n>9,則需寫成${10} |
$# | 目前傳參總個數 |
$$ | 腳本運作的目前程序ID号,用例:當一個程序重複啟動時自動将前面的程序殺死,避免重複啟動 |
$! | 背景運作的最後一個程序的ID号 |
$* | 以一個字元串顯示所有向腳本傳遞的參數 |
$@ | 所有位置參數内容,将每個參數視為單個字元串傳遞 |
$? | 顯示最後指令的退出狀态,0表示正常,其他任何值表示有錯誤 |
常用檔案測試操作符号:
符号 | |
-f 檔案,--file | 檔案存在且是普通檔案則真 |
-d 檔案,--directory | 檔案存在且是目錄檔案則真 |
-s 檔案,--size | 檔案存在且大小不為0則真 |
-e 檔案,--exist | 檔案存在則真 |
-r 檔案,--read | 檔案存在且可讀則真 |
-w 檔案,--write | 檔案存在且可寫則真 |
-x 檔案,--executable | 檔案存在且可執行則真 |
-L 檔案,--link | 檔案存在且為連結檔案則真 |
f1 -nt f2,--newer than | 檔案f1比檔案f2新則真,根據檔案修改時間計算 |
f1 -ot f2,--older than | 檔案f1比檔案f2舊則真,根據檔案修改時間計算 |
字元串測試操作符:
操作符 | |
-z "字元串",--zero | 若串長度為0則真 |
-n "字元串",--no zero | 若串長度不為0則真 |
"串1"="串2" | 若串1等于串2則真,可使用"=="代替"=" |
"串1"!="串2" | 若串1不等于串2則真,不能用"=="代替"=" |
注: 1.以上表格中的字元串測試操作符号務必要用""引起來; 2.比較符号兩端有空格。 eg:[ -n "$myvar"] |
整數二進制比較操作符:
[]及test中使用的比較符 | (())及[[]]中使用的比較符 | |
-eq | ==或= | equal,相等 |
-ne | != | not equal,不相等 |
-gt | > | greater than,大于 |
-ge | >= | greater equal,大于等于 |
-lt | < | less than,小于 |
-le | <= | less equal,小于等于 |
邏輯連接配接符:
[]及test中使用的邏輯操作符 | [[]]中使用的邏輯操作符 | |
-a | && | and與,兩端都為真,則真 |
-o | || | or或,兩端有一個為真則真 |
! | not非,相反則為真 |
通路數組元素:
${array[0]} | 通路數組中第一個元素 |
${array[@]} | 通路數組所有元素;等同于${array[*]} |
${#array[@]} | 統計數組元素的個數 |
${!array[@]} | 擷取數組元素的索引 |
${array[@]:1} | 從數組下标1開始 |
${array[@]:1:2} | 從數組下标1開始,通路兩個元素 |
lengthn=${#array[n]} | 擷取數組單個元素長度 |
-------------------------------------------------------------
作者:
羅穆瑞出處:
http://www.cnblogs.com/kazihuo/轉載請保留此段聲明,且在文章頁面明顯位置給出原文連結,謝謝!
------------------------------------------------------------------------------
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,部落客在此感謝!