#!/bin/bash
myfunc() {
local new_arr
new_arr=("$@")
echo "Updated value is: ${new_arr[*]}"
}
my_arr=(4 5 6)
x="test1"
y="test2"
echo "Old array is ${my_arr[*]}"
myfunc ${my_arr[*]} $x $y
该程序的输出为:
Old array is 4 5 6
Updated value is: 4 5 6 test1 test2
我想在函数myfunc()中分别访问x,y和my_array,
但是我不知道数组的大小。
像$ 1那样是my_array $ 2就是x等。.
但是我不知道如何在shell脚本中执行此操作。
请注意,我的bash版本是:-版本4.1.2
答案 0 :(得分:2)
#!/bin/bash
myfunc() {
local new_arr
first_variable=$1 && shift
second_variable=$2 && shift
new_arr=("$@")
echo "Updated value is: ${new_arr[*]}"
}
my_arr=(4 5 6)
x="test1"
y="test2"
echo "Old array is ${my_arr[*]}"
myfunc "$x" "$y" "${my_arr[@]}"
输出Old array is 4 5 6
Updated value is: 4 5 6