我的意圖是動態檢索表的值,在循環的第一次運行中,其中t = 1,表的值應該是「表」,應該是「其他表「在第二次運行,所以我試圖命名變量使用循環,但我的輸出是」1「,」2「而不是」表「,」其他表「,但如果我把表= $ TABLENAME $ 1,輸出是「表」。 我無法選擇錯誤,我是shell腳本編程新手,如果有任何錯誤,請原諒!謝謝!在bash中動態檢索表的值
TABLENAME1="table"
TABLENAME2="other table"
NUM_TABLE=2
for ((t = 1; t <= ${NUM_TABLE}; t++)){
table=$TABLENAME$t
echo $table
}
'foobar = 1; foobaz = 2;一個= FOO; B =巴; C =巴茲; d = $ A $ B; echo $ {!d}; d = $一個$ C; echo $ {!d}'在你的情況下'echo $ {!table}' –
感謝你的解釋David,我明白了你的觀點。 – nope
順便說一句,這在[BashFAQ#6](http://mywiki.wooledge.org/BashFAQ/006)中有全面的介紹,包括討論如何避免首先出現問題的方法(以關聯數組和其他結構作爲替代方法)。 –