2015-10-15 133 views
2

我有以下腳本。打印多個bash變量

#!/bin/bash 
d5=me 
d6=you 
d7=re 

for i in {5..7} 
do 
    echo $"d$i" 
done 

此打印出
D5
D6
D7

我期待打印


重新

+0

你爲什麼不使用數組?每當你發現自己用這樣的連續名字構造變量時,它可能應該是一個數組。 – Barmar

回答

0

您還可以使用eval

for i in {5..7}; do eval echo \$d$i ; done 
+1

是的,你可以使用'eval',但考慮到有一個專門的間接變量擴展機制(見anubhava的答案),爲什麼_would_你,因爲eval的安全風險? – mklement0