Bash變量基本規(guī)則

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

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

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

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

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

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

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

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

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

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

關(guān)于第6、7的更多用法與規(guī)則,參考下表(出自鳥哥Linux私房菜)

變量配置方式 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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容