Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.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
Bash 如何使用函数返回多个数组_Bash - Fatal编程技术网

Bash 如何使用函数返回多个数组

Bash 如何使用函数返回多个数组,bash,Bash,我编写了一个返回数组的函数: create(){ my_list=("a" "b" "c") echo "${my_list[@]}" } result=$(create) for var in result do echo $var done 现在,我想扩展它以返回多个数组。 例如,我想写这样的东西: create(){ my1=("1" "2") my2=("3","4") my3=("5","6") echo "${my1[@]}

我编写了一个返回数组的函数:

create(){
   my_list=("a" "b" "c")
   echo "${my_list[@]}"
}

result=$(create)
for var in result
do
    echo $var
done
现在,我想扩展它以返回多个数组。 例如,我想写这样的东西:

create(){
    my1=("1" "2")
    my2=("3","4")
    my3=("5","6")
     echo "${my1[@]} ${my3[@]} ${my3[@]}"
}
我想得到每个返回的数组:

 res1= ...
 res2= ...
 res3= ...
有人能给我一个解决方案吗?
谢谢

您需要在循环时使用
阅读

while read -r val1 val2; do
    arr1+=("$val1")
    arr2+=("$val2")
done < file.txt
这就产生了

a
1
b
2
c
3
不是


为什么你不能在全局上下文中维护一个变量,返回数组不是设计代码的最佳方法如果你能让我们知道你的需求,肯定有更好的方法可以做到这一点使用真正的编程语言;您可以输出一个或多个数组的元素。请尝试在
create
内部设置
my_list=(“a b”“c d”“e f”)
,然后查看发生了什么。
a
1
b
2
c
3
a 1
b 2
c 3