菜鳥學Linux - 變量基本規則


變量是一個很重要的概念,無論是bash腳本還是其他語言,都是如此。在bash中,創建變量很簡單,給變量一個名稱即可。默認情況下,變量的值為空。我們可以通過等號為變量賦值。需要注意的是,變量變量的值不是一個概念。當給定變量一個名稱后,例如myvar,我們需要通過$取得變量的值,即$myvar。使用echo輸出變量的值。

輸出變量的值的格式為:echo $myvar 或者 echo ${myvar}

使用變量的時候,需要注意以下幾點:

1. 給變量賦值的時候,如果值包含空格,需要用單引號或者雙引號包起來,否則會引起錯誤

2. 給變量賦值的時候,如果使用單引號,那么單引號里面的變量就不會解析成真正的值。使用雙引號則可以

3. 可以將一個命令執行的結果賦給一個變量。格式為:myvar=$(command) 或者 `comand`。值得注意的是,務必要將$()和${}的用途分開

4. 變量的擴增,即將新的內容增加到變量原來的值上去。格式為"$變量名稱" 或 ${變量} 擴增內容

5. 使用export將變量變成環境變量,使得bash子進程可以使用變量。請看下圖:

6. 判斷變量是否未設置,如果未設置則用-后面的內容賦值。語法為:var2=${var1-hellovar1}(若var1未設置,那么將hellovar1賦值給var2,否則將var1的值賦給var2)。需要注意的是,如果var1設置為空值了,那么也算是賦值了

7. 判斷變量是否未設置或者設置為空值,如果未設置或者設置為空值則用-后面的內容賦值。語法為:var2=${var1:-hellovar1}。如下圖,注意與第六點區分開

關於第6、7的更多用法與規則,參考下表(出自鳥哥Linux私房菜:http://vbird.dic.ksu.edu.tw/linux_basic/0320bash_2.php):

變量配置方式 str 沒有配置 str 為空字符串 str 已配置非為空字符串
var=${str-expr} var=expr var= var=$str
var=${str:-expr} var=expr var=expr var=$str
var=${str+expr} var= var=expr var=expr
var=${str:+expr} var= var= var=expr
var=${str=expr} str=expr
var=expr
str 不變
var=
str 不變
var=$str
var=${str:=expr} str=expr
var=expr
str=expr
var=expr
str 不變
var=$str
var=${str?expr} expr 輸出至 stderr var= var=$str
var=${str:?expr} expr 輸出至 stderr expr 輸出至 stderr var=$str


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM