我们知道,在bash编程中,传递参数的方法是$ 1,…,$ N。但是,我发现将一个数组作为参数传递给接收多个参数的函数并不容易。这里有一个例子:
@H_404_16@f(){ x=($1) y=$2 for i in "${x[@]}" do echo $i done .... } a=(“jfaldsj jflajds" "LAST") b=NOEFLDJF f "${a[@]}" $b f "${a[*]}" $b
如上所述,函数freceives两个参数:第一个分配给x是数组,第二个分配给y。
f可以以两种方式调用。第一种方法使用“$ {a [@]}”作为第一个参数,结果是:
jfaldsj jflajds
第二种方法使用“$ {a [*]}”作为第一个参数,结果是:
jfaldsj jflajds LAST
两个结果都是我所希望的。所以,有没有人有任何想法如何正确地传递函数之间的数组。