bash變數型別:
環境變數
本地變數(區域性變數)
位置變數
特殊變數(內建)
本地變數:
varname=value:作用域為整個bash程序可以使用;
變數命名規範:
1. 只能含字母、數字和下劃線,並且以字母和下劃線開頭
2. 最好不要跟系統已有的環境變數重名
3. 見名知意
區域性變數:
local varname=value:作用域為當前**段;
環境變數:作用域為當前shell程序及其子程序,不能影響到其父程序;
export varname=value 「匯出」,如果變數已經定義可以只是用變數名 export varname,即
1. export varname=value
2. varname=value
export varname
指令碼在執行命令時會啟動乙個子shell環境變數:
系統自動執行的指令碼(非命令列啟動)就需要自我定義需要的個環境變數;
位置變數:
$1,$2,$3,……
cat first.sh test.txt hello
$1: first.sh
$2: test.txt
$3: hello
shift:踢掉引數
shift n:踢掉n個引數,預設踢掉乙個引數
特殊變數:
$?:上乙個命令執行狀態的返回值:
程式執行可能有兩種返回值:
1. 程式執行結果
2. 程式狀態返回嗎(0-255)
0 則為執行正確
1-255 則執行出錯(1,2,127系統預留);
$#:獲取當前shell命令列中引數的總個數
$*:獲取當前shell的所有引數 「$1 $2 $3 …,受ifs控制
$@:這個程式的所有引數 「$1″ 「$2″ 「$3″ 「…」,不受ifs控制
$0 獲取當前執行的shell指令碼的檔名
$n 獲取當前執行的shell指令碼的第n個引數值,n=1..9
$$ 獲取當前shell的程序號(pid)
$! 執行上乙個指令的pid
bash:
引用變數:$,括號可以省略
撤銷變數:
unset varname
檢視當前shell中的變數:
set包括環境變數和本地變數
檢視當前shell中的環境變數:
1. printenv
2. env
3. export
bash中變數的巧用
鳥哥的私房菜 可以用乙個變數來代替長串的目錄,這樣即好記,也提高了效率。引用如下 若你有乙個常去的工作目錄名稱為 cluster server work taiwan 2005 003 如何 進行該目錄的簡化?答 在一般的情況下,如果你想要進入上述該目錄得要 cd cluster server wo...
Bash中變數的討論
變數不管是在哪種開發語言中,都占有著舉足輕重的位置,可以使我們的指令碼更加靈活,也能提高其遷移性。對於變數的設定規範有了通透的了解之後,既能避免不必要的錯誤,也能保證指令碼撰寫的效率。因為往往一些莫名其妙的報錯,都是由於不規範的變數設定引起的,左查右查,最終查出是由於書寫不規範引起的,往往會氣的發笑...
BASH中變數轉換
1.變數替換 bash shell可以進行變數的條件替換,既只有某種條件發生時才進行替換,替換 條件放在 中.1 當變數未定義或者值為空時,返回值為word的內容,否則返回變數的值.2 與前者類似,只是若變數未定義或者值為空時,在返回word的值的同時將 word賦值給value 3 若變數以賦值的...