2015-02-11 100 views
0

在過去的一個小時左右,這一直讓我發瘋。我有四個變量,$A,$B,$C$D。爲了簡單起見,我們假設每個變量的值都是它們相應的字母。我試圖創建一個變量來保存字符串我想打印,像這樣:Bash將字符串分配給變量並打印

s="${A} failed. ${B} ${C} ${D}" 
echo "$s" 

我寫了一個測試腳本酷似左右,它完美的作品。但是,在我的實際腳本中,變量是不同的。

echo $table_name (prints correctly) 
echo $source_count (prints correctly) 
echo $disk_size (prints correctly) 
echo $hive_count (prints correctly) 
s="${table_name} failed. ${source_count} ${disk_size} ${hive_count}" (only prints $disk_size and $hive_count) 
echo "$s" 

誰能想到一個原因,$s似乎只存儲$disk_size$hive_count?對於可以存儲在變量中的內容是否有任何字符限制?

回答

3

$source_count最後有一個CR。在使用變量之前將其剝離。

+0

我該怎麼給你買啤酒?謝謝你保存我的理智。 – raphnguyen 2015-02-11 02:31:02

+2

@raphnguyen接受他的答案 – 2015-02-11 02:36:10

相關問題