在bash中返回数组的函数



我有一个bash函数,它读取csv文件,我希望该函数返回一个数组。我怎么做呢?

我知道bash通常不会"返回对象"。但我想知道是否有一个hack,使以下代码:

data=$(readFromCSV $file)

返回自定义函数readfromsv的数组。我的意思是$data是一个真数组所以我可以运行

echo {#data[@]}

它会告诉我数组中有多少项

如何告诉函数返回数组?

感谢

基本上这就是我模仿数组对象的方法从CSV文件传递

首先,为csv创建函数:
function readFromCSV() {
file=$1
arr_csv=() 
while IFS= read -r line 
do
arr_csv+=("$line")
done < $file
echo ${arr_csv[*]} # this will output a string
}

则调用函数:

list=$(readFromCSV $file)

然后将字符串重新映射到数组:

arrayCSV=($list)

现在arrayCSV是CSV文件中值的数组。