菜鳥學Linux - 變數基本規則

來源:互聯網
上載者:User

標籤:style   blog   http   io   color   os   ar   使用   for   

變數是一個很重要的概念,無論是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

菜鳥學Linux - 變數基本規則

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.