2010-04-24 71 views
3

嵌套變量阻止我試圖更廣泛地使用bash ......考慮以下幾點:如何在UNIX/BASH中擴展變量?

export SYS_DIR='/home/${LOGNAME}/sys' 
export APP_DIR='${SYS_DIR}/app' 

我總是

> set 
APP_DIR=/home/${LOGNAME}/sys/app 

爲什麼結了?我笑

,以及如何得到我想要的東西=/

我並不想解決$ {$ {VAR}},而是實際的字符串如上圖所示

+0

單引號中的字符串未擴展。 – 2010-04-24 15:30:34

+0

mwuaha我剛纔注意到了!大聲笑 – qodeninja 2010-04-24 15:32:07

回答

10

用雙引號

export APP_DIR="${SYS_DIR}/app" 

單引號將所有內容視爲文字,而不是評估。

+0

此外,考慮通過谷歌的所有東西bash看「高級Bash指南」;) – 2010-04-24 15:36:08

+0

但是,別名評估雖然變量是單引號。爲什麼?例如。 '別名abc ='cd $ {HOME}'' – syam 2013-06-19 05:45:14