Arrays bash/shell将数组传递到函数然后循环?

Arrays bash/shell将数组传递到函数然后循环?,arrays,bash,shell,loops,Arrays,Bash,Shell,Loops,当直接在函数中定义数组时,下面的命令按预期工作 function each { local array=(1 2 3) len=${#array[*]} for (( i=0; i<len; i++ )); do echo ${array[$i]} done } each # outputs; 1 2 3 每个函数{ 本地数组=(1 2 3) len=${#数组[*]} 对于((i=0;i我将把数组元素作为不同的位置参数传递给函数: function f()

当直接在函数中定义数组时,下面的命令按预期工作

function each {
  local array=(1 2 3)
  len=${#array[*]}
  for (( i=0; i<len; i++ )); do
    echo ${array[$i]}
  done
}

each

# outputs;

1
2
3
每个函数{
本地数组=(1 2 3)
len=${#数组[*]}

对于((i=0;i我将把数组元素作为不同的位置参数传递给函数:

function f() {
    local array = "$@";
    # ...
}

## calling your function
f ("${array[@]}")

我会将数组元素作为不同的位置参数传递给函数:

function f() {
    local array = "$@";
    # ...
}

## calling your function
f ("${array[@]}")

感谢Costi,我将以dupe Though的方式关闭此文件。我在意识到有一个完整的讨论已经澄清此问题后投票赞成关闭此文件。感谢Costi,我将以dupe Though的方式关闭此文件。我在意识到有一个完整的讨论已经澄清此问题后投票赞成关闭此文件。:)