腳本變量:
- $$ Shell本身的PID(ProcessID)
- $! Shell最後運作的背景Process的PID
- $? 最後運作的指令的結束代碼(傳回值)
- $- 使用Set指令設定的Flag一覽
- $* 所有參數清單。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。
- [email protected] 所有參數清單。如"[email protected]"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。
- $# 添加到Shell的參數個數
- $0 Shell本身的檔案名
- $1~$n 添加到Shell的各參數值。$1是第1參數、$2是第2參數…。
字元串截取:
假設變量為var=http://www.hao.com/123.htm
1. # 号截取,删除左邊字元,保留右邊字元。
echo ${var#*//}
其中 var 是變量名,# 号是運算符,*// 表示從左邊開始删除第一個 // 号及左邊的所有字元
即删除 http://
結果是 :www.hao.com/123.htm
2. ## 号截取,删除左邊字元,保留右邊字元。
echo ${var##*/}
##*/ 表示從左邊開始删除最後(最右邊)一個 / 号及左邊的所有字元
即删除 http://www.hao.com/
結果是 123.htm
3. %号截取,删除右邊字元,保留左邊字元
echo ${var%/*}
%/* 表示從右邊開始,删除第一個 / 号及右邊的字元
結果是:http://www.hao.com
4. %% 号截取,删除右邊字元,保留左邊字元
echo ${var%%/*}
%%/* 表示從右邊開始,删除最後(最左邊)一個 / 号及右邊的字元
結果是:http:
5. 從左邊第幾個字元開始,及字元的個數
echo ${var:0:5}
其中的 0 表示左邊第一個字元開始,5 表示字元的總個數。
結果是:http:
6. 從左邊第幾個字元開始,一直到結束。
echo ${var:7}
其中的 7 表示左邊第8個字元開始,一直到結束。
結果是 :www.hao.com/123.htm
7. 從右邊第幾個字元開始,及字元的個數
echo ${var:0-7:3}
其中的 0-7 表示右邊算起第七個字元開始,3 表示字元的個數。
結果是:123
8. 從右邊第幾個字元開始,一直到結束。
echo ${var:0-7}
表示從右邊第七個字元開始,一直到結束。
結果是:123.htm
(左邊的第一個字元是用 0 表示,右邊的第一個字元用 0-1 表示)