我想编写一个脚本来引用另一个包含这些数组变量名的数组。
到目前为止,这是我的代码:
#!/bin/bash
array1=('array1string1' 'array1string2')
array2=('array2string1' 'array2string2')
array_names=('array1' 'array2')
for a in ${array_names[@]}
do
for b in ${a[@]}
do
echo $b
done
done
我希望输出扫描这两个数组(从外部for循环)并在内部for循环中打印相应的字符串,从而调用echo。我当前的输出只是向我显示:
array1
array2
对此,我将不胜感激。谢谢!
我希望数组的数量灵活。因此,如果以后再添加一个数组,只需将其添加到array_names中,然后由循环来处理它。
—
chnppp
@parkamark不,这只是给他每个数组的第一个元素。并
—
库萨兰达
${!a[@]}
给出数组的长度a
。
是的,更改
—
chnppp
${!a}
为只是给我第一个要素。
for b in "${array1[@]}" "${array2[@]}"; do ...; done
?