我需要动态创建变量名,如下所示(简化示例):
#!/bin/sh
IDX=1
SERIES1="a b c d e f g"
SERIES2="h i j k l m n"
# How to get this value contains $SERIES1 or $SERIES2
# depending on the value of $IDX
CURRENT=${SERIES\${IDX}} # doesn't work, just an example
Run Code Online (Sandbox Code Playgroud)
如果IDX=1我期望有
echo $CURRENT
Run Code Online (Sandbox Code Playgroud)
显示
a b c d e f g
Run Code Online (Sandbox Code Playgroud)
如果IDX=2要显示
h i j k l m n
Run Code Online (Sandbox Code Playgroud)
我需要在循环中使用它来处理来自另一个脚本的不确定数量的 SERIES。
编辑
目前使用shshell,但如果需要,我可以使用不同的 shell(即使这意味着我可能需要转换一些东西,但没关系)
我的问题是:如何将所需的系列分配给CURRENT
我尝试了什么?上面的例子(不起作用)和其他风格,例如:
CURRENT=$${SERIES$${IDX}}
CURRENT=${SERIES${IDX}}
Run Code Online (Sandbox Code Playgroud)
编辑2
我正在去某件事的路上:
eval echo …Run Code Online (Sandbox Code Playgroud)