Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 导出新变量时如何组合变量名?_Linux_Bash_Shell_Scripting - Fatal编程技术网

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

Linux 导出新变量时如何组合变量名?,linux,bash,shell,scripting,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,它就不起作用了 谢谢 用于设置变量的代码已经生效

假设我有一个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,它就不起作用了


谢谢

用于设置变量的代码已经生效。您只是读取的值不正确

尝试echo$jbod4,您将看到它们已经设置好了

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

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

它不应该起作用,他需要评估或声明,正如@anubhava所指出的那样。试试这个:{1..3}中的i的
;做一个$i=$i;完成;echo“$a1$a2$a3”
@Tiago OP不是这样做的。OP使用导出,
export a$i=$i
工作正常。不知道导出会工作。感谢+1:)