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

时间:2017-04-26 11:25:21

标签: 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[@]} ${my3[@]} ${my3[@]}"
}

我想获得每个返回的数组:

 res1= ...
 res2= ...
 res3= ...

有人可以建议我一个解决方案吗? 感谢

1 个答案:

答案 0 :(得分:1)

您需要使用@Override public void surfaceCreated(SurfaceHolder holder) { mediaPlayer.setDataSource(this,uri); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mediaPlayer.prepare(); mp.setDisplay(holder); mp.start; } 循环阅读。

while

while read -r val1 val2; do arr1+=("$val1") arr2+=("$val2") done < file.txt 中没有数组;你不能像你在问题中尝试那样使用数组。考虑这个结果:

bash

这会产生

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

result=$(create)
for var in $result
do
    echo $var
done

a
1
b
2
c
3