Linux bash Shell中的變量類型詳解
在Linux系統(tǒng)中進(jìn)行日常運(yùn)維或者是編寫腳本時,變量是再熟悉不過的了,但這些變量都有哪些類型,具體的用法又有哪些差異呢?本文整理分享給大家:
一、bash變量類型:
本地變量
局部變量
環(huán)境變量
位置變量
特殊變量(內(nèi)置)
二、本地變量:
varname=value:作用域為整個bash進(jìn)程可以使用;
變量命名規(guī)范:
1. 只能含字母、數(shù)字和下劃線,并且以字母和下劃線開頭
2. 最好不要跟系統(tǒng)已有的環(huán)境變量重名
3. 見名知意
三、局部變量:
local varname=value:作用域為當(dāng)前代碼段;
四、環(huán)境變量:
作用域為當(dāng)前shell進(jìn)程及其子進(jìn)程,不能影響到其父進(jìn)程;
export varname=value “導(dǎo)出”,如果變量已經(jīng)定義可以只是用變量名 export varname,即
1. export varname=value
2. varname=value
export varname
腳本在執(zhí)行命令時會啟動一個子shell環(huán)境變量:
系統(tǒng)自動執(zhí)行的腳本(非命令行啟動)就需要自我定義需要的個環(huán)境變量;
五、位置變量:
$1,$2,$3,……
cat first.sh test.txt hello
$1: first.sh
$2: test.txt
$3: hello
shift:踢掉參數(shù)
shift n:踢掉n個參數(shù),默認(rèn)踢掉一個參數(shù)
六、特殊變量:
$?:上一個命令執(zhí)行狀態(tài)的返回值:
程序執(zhí)行可能有兩種返回值:
1. 程序執(zhí)行結(jié)果
2. 程序狀態(tài)返回嗎(0-255)
0 則為執(zhí)行正確
1-255 則執(zhí)行出錯(1,2,127系統(tǒng)預(yù)留);
$#:獲取當(dāng)前shell命令行中參數(shù)的總個數(shù)
$*:獲取當(dāng)前shell的所有參數(shù) “$1 $2 $3 …,受IFS控制
$@:這個程序的所有參數(shù) “$1″ “$2″ “$3″ “…”,不受IFS控制
$0 獲取當(dāng)前執(zhí)行的shell腳本的文件名
$n 獲取當(dāng)前執(zhí)行的shell腳本的第n個參數(shù)值,n=1..9
$$ 獲取當(dāng)前shell的進(jìn)程號(PID)
$! 執(zhí)行上一個指令的PID
- 詳解shell 變量的高級用法示例
- 處理Shell腳本中帶有空格的變量(bash腳本)
- shell判斷一個變量是否為空方法總結(jié)
- linux中shell的變量的數(shù)值計算
- Shell編程之特殊變量和擴(kuò)展變量詳解
- Shell編程之變量數(shù)值計算方法示例
- shell for循環(huán)、循環(huán)變量值付給其他shell腳本的方法
- 詳解Shell編程之變量數(shù)值計算(二)
- 詳解Shell編程之變量數(shù)值計算(一)
- 淺談linux中shell變量$#,$@,$0,$1,$2的含義解釋
- 判斷Linux Shell環(huán)境變量是否存在
- Linux Shell腳本系列教程(四):使用函數(shù)添加環(huán)境變量
- Linux Shell腳本系列教程(三):變量和環(huán)境變量
- 詳解shell 變量
相關(guān)文章
Shell腳本實(shí)現(xiàn)硬盤空間和表空間的使用情況統(tǒng)計并郵件通知
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)硬盤空間和表空間的使用情況統(tǒng)計并郵件通知,其中表空間是指oracle數(shù)據(jù)庫里的表空間,需要的朋友可以參考下2014-12-12零基礎(chǔ)入門篇之Linux及Arm-Linux程序開發(fā)筆記
這篇文章主要介紹了零基礎(chǔ)入門篇之Linux及Arm-Linux程序開發(fā)筆記,需要的朋友可以參考下2015-10-10Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)查找字符串中某字符最后出現(xiàn)的位置,本文給出了Shell腳本和C語言程序的實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-01-01Linux shell實(shí)現(xiàn)HTTP服務(wù)示例代碼
這篇文章介紹的是如何實(shí)現(xiàn)一個可以調(diào)用shell腳本的HTTP服務(wù),本文給出了詳細(xì)的示例代碼,有需要的可以參考借鑒。2016-08-08