我有以下脚本。
#!/bin/bash
d5=me
d6=you
d7=re
for i in {5..7}
do
echo $"d$i"
done
打印出来
d5
d6
D7
我正打算打印
我
你
重
答案 0 :(得分:5)
您可以使用"${!varName}"
来引用varName
变量中存储的值:
for i in {5..7}; do v="d$i"; echo "${!v}"; done
me
you
re
Check indirect variable expansion in bash
甚至更简单:
for v in d{5..7}; do echo "${!v}"; done
me
you
re
答案 1 :(得分:0)
您还可以使用eval
:
for i in {5..7}; do eval echo \$d$i ; done