bash shell function 数组传递
时间: 2023-10-04 18:14:05 浏览: 208
shell 使用数组作为函数参数的方法(详解)
可以使用数组作为参数来传递到 Bash shell 函数中。以下是一个简单的例子:
```bash
#!/bin/bash
# 定义一个函数,接受一个数组作为参数
function my_function {
local arr=("$@") # 将传递的数组赋值给本地变量 arr
echo "Received array: ${arr[*]}" # 输出数组
}
# 定义一个数组
my_array=("apple" "banana" "cherry")
# 调用函数,将数组作为参数传递
my_function "${my_array[@]}"
```
在上面的例子中,我们定义了一个名为 `my_function` 的函数,并将一个数组作为参数传递给它。在函数内部,我们使用 `local` 命令定义了一个名为 `arr` 的本地变量,并将传递的数组赋值给它。最后,我们使用 `${arr[*]}` 输出了数组的内容。
在调用函数时,我们使用 `${my_array[@]}` 的语法将整个数组作为参数传递给函数。
注意,如果你需要在函数内部修改传递的数组,你需要使用 `declare` 命令将数组声明为全局变量。否则,函数内部将创建一个与传递的数组相同但不同的本地数组。
阅读全文