聲明:
本博客歡迎轉發,但請保留原作者信息!
新浪微博:@孔令賢HW;
博客地址:http://blog.csdn.net/lynn_kong
內容系本人學習、研究和總結,如有雷同,實屬榮幸!
1、變量引用
用set命令可以查看所有的變量
unset var命令可以清除變量var,var相當於沒有定義過
readonly var可以把var變爲只讀變量,定義之後不能對var進行任何更改。
對shell變量的引用方式很多,用這些方式可以方便的獲取shell變量的值,變量值的長度,變量的一個字串,變量被部分替換後的值等等。shell變量常見引用方式如下:
2、數值變量
shell中默認把變量值當作字符串,例如:
age=22
age=${age}+1
echo ${age}
輸出結果爲22+1,而不是23,因爲shell將其解釋爲字符串,而不是數學運算。
可以用let命令使其進行數學運算,例如:
let age=${age}+1
3、數組變量
數組的初始化:array=(1, 2, 3)
可以通過 ${array[$i]}來訪問array中某個元素,${array[*]}或${array[@]}的返回值即數組的所有元素組成的串,${#array[*]} 的返回值即數組的元素個數
4、特殊變量
$0:當前腳本的文件名
$num:num爲從1開始的數字,$1是第一個參數,$2是第二個參數,${10}是第十個參數
$#:傳入腳本的參數的個數
$*:所有的位置參數(作爲單個字符串)
$@:所有的位置參數(每個都作爲獨立的字符串)。
$?:當前shell進程中,上一個命令的返回值,如果上一個命令成功執行則$?的值爲0,否則爲其他非零值,常用做if語句條件
$$:當前shell進程的pid
$!:後臺運行的最後一個進程的pid
$-:顯示shell使用的當前選項
$_:之前命令的最後一個參數