菜鳥學Linux - 變量基本規則

變量是一個很重要的概念,不管是bash腳本仍是其餘語言,都是如此。在bash中,建立變量很簡單,給變量一個名稱便可。默認狀況下,變量的值爲空。咱們能夠經過等號爲變量賦值。須要注意的是,變量變量的值不是一個概念。當給定變量一個名稱後,例如myvar,咱們須要經過$取得變量的值,即$myvar。使用echo輸出變量的值。php

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

使用變量的時候,須要注意如下幾點:bash

1. 給變量賦值的時候,若是值包含空格,須要用單引號或者雙引號包起來,不然會引發錯誤spa

2. 給變量賦值的時候,若是使用單引號,那麼單引號裏面的變量就不會解析成真正的值。使用雙引號則能夠3d

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

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

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

6. 判斷變量是否未設置,若是未設置則用-後面的內容賦值。語法爲:var2=${var1-hellovar1}(若var1未設置,那麼將hellovar1賦值給var2,不然將var1的值賦給var2)。須要注意的是,若是var1設置爲空值了,那麼也算是賦值了字符串

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

關於第六、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
相關文章
相關標籤/搜索