如何在导出新变量时组合变量名称?

时间:2014-06-27 19:24:52

标签: linux bash shell scripting

说我有一个for循环:

for z in {0..11}
do
export jbod$z=`grep "Firmware state" driveinfo-$z | awk 'BEGIN{FS=":";} {print $2}'`
done

如何获取我想要导出的新变量以包含循环中的数字? 对于循环的每次传递,我想要一个像这样的变量:jbod1 = string jbod2 = string jbod3 = string

我还应该提一下,如果我回应$ jbod $ z它不起作用......

谢谢!

1 个答案:

答案 0 :(得分:1)

您设置变量的代码已经生效。你只是错误地读取了这个值。

尝试echo $jbod4,您会看到它们已被设置。

要动态访问变量,可以使用间接:

z=4
name="jbod$z"
echo "$name is set to ${!name}"