参考文章:
https://www.coder.work/article/2566787
https://www.codenong.com/1063347/
网上直接搜的文章要么太绕,要么很有局限(数组元素中含有空格或者*时候无效),这里总结了几种方法:
0. 如果只传递一个数组,没有其他参数,那么直接用local_array=("$@")即可搞定,其余的方法都是多参数的
function func
{
local_array=("$@")
for str in "${local_array[@]}"
do
echo "$str"
done
}
paras=("hello world" "select * from test")
func "${paras[@]}"
1.传递函数名方式:
function func
{
name=$1[@]
local_array=("${!name}")
for str in "${local_array[@]}"
do
echo "p1 $str"
done
name=