特殊字符對應的處理參數:
參數 | 說明 |
$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]} | 獲取數組單個元素長度 |
-------------------------------------------------------------
轉載請保留此段聲明,且在文章頁面明顯位置給出原文鏈接,謝謝!
------------------------------------------------------------------------------
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!
------------------------------------------------------------------------------