2011-07-11 34 views
2

情景擊和變量

$ VAR1 =測試

$ VAR2 =測試

$ VAR3 = $ VAR1_ $ VAR2

$回波$ VAR3

測試

我期待「test_testing」作爲輸出。爲什麼它不工作?如何以「test_testing」格式輸出? (使$ VAR1_ $ VAR2工作)

它是否將VAR3 = $ VAR1_ $ VAR2解釋爲VAR3 = $(VAR1_ $ VAR2)?

回答

2

嘗試:

VAR3="$VAR1"_"$VAR2" 

它解釋爲VAR3=$VAR1_$VAR2 --- $VAR1_ + $VAR2沒有變量命名爲$ VAR1_

+0

的替代方案是:VAR3 = $ {VAR1} _ $ {VAR2}' – carlspring

10

嘗試

$ echo ${VAR1}_${VAR2} 

如果沒有括號,它解析組合${VAR1_}${VAR2}。由於您沒有定義$VAR1_變量,因此只能看到$VAR2的值。

你可以看到這一點,如果你定義一個變量$VAR1_

$ VAR1_=another 
$ echo $VAR1_$VAR2 
anothertesting