2

我的 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。

有什么建议吗?

提前致谢。

4

3 回答 3

3

使用间接变量引用:

varname="$dummy$i"
toprint="${!varname}"
于 2013-09-17T07:48:04.803 回答
2

说:

echo "${!toprint}";

也读这个。您还可以在手册中阅读有关间接扩展的信息。

于 2013-09-17T07:48:55.870 回答
1

试试eval命令:

eval toprint='$'$dummy$i
echo $toprint

更多关于 unix.stackexchange.com上的评估

于 2013-09-17T07:49:03.003 回答