如何使用bash将变量插入另一个变量

时间:2013-09-17 07:40:56

标签: bash

我遇到了bash脚本的问题。

我想在bash脚本中将一个变量插入到另一个变量中,但这种情况并不是我所期望的。

这里是代码

input1="inputnumber1"
input2="inputnumber2"
input3="inputnumber3"
dummy="input"
for i in $(seq 1 3)
do
    toprint=$dummy$i
    echo "$toprint"
done

我希望这段代码打印变量$ input1,$ input2和$ input3的内容,但它只打印input1,input2和input3。

有什么建议吗?

提前致谢。

3 个答案:

答案 0 :(得分:3)

使用间接变量引用:

varname="$dummy$i"
toprint="${!varname}"

答案 1 :(得分:2)

说:

echo "${!toprint}";

另请阅读this。您还可以阅读manual中的间接扩展。

答案 2 :(得分:1)

尝试eval命令:

eval toprint='$'$dummy$i
echo $toprint
unix.stackexchange.com上的

More on eval