shell 函数 参数传递数组
在Shell脚本中,你可以通过以下方式传递数组作为函数的参数:
1. 使用括号将数组括起来,并在调用函数时使用空格分隔数组的元素。例如: ```shell
function my_function() { local my_array=(\"$\") 函数体 }
my_array=(1 2 3 4) my_function ${my_array[]} ```
在函数内部,你可以使用`\"$\"`来获取传递给函数的所有参数,并将它们存储在一个数组中。
2. 使用`\"$\"`来直接传递整个数组作为单个参数。例如:
```shell
function my_function() { local my_array=(\"$1\") 函数体 }
my_array=(1 2 3 4)
my_function \"${my_array[]}\" ```
在函数内部,你可以使用`$1`来获取传递给函数的第一个参数,并将其存储在一个数组中。注意,这里使用`\"$1\"`而不是`$1`,因为`\"$1\"`会将整个数组作为单个参数传递,而`$1`只会获取数组的第一个元素。
无论你选择哪种方式,都可以在函数内部使用数组来处理传递给函数的参数。