bash中的變數

2022-09-23 08:39:10 字數 1306 閱讀 2045

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 若變數以賦值的...