打印多个bash变量

时间:2015-10-15 18:42:32

标签: bash indirection

我有以下脚本。

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

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

打印出来 d5
d6
D7

我正打算打印 我

2 个答案:

答案 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