我有这个当前函数用于创建菜单样式的数组(关联数组不能在场景中使用)。
declare -a array1=("host1" "host2" "host3")
declare -a array2=("ip1" "ip2" "ip3")
function menusetup {
iter=0
for ((i=0; i<(count*2); i+=2)); do
menu[$i]=${array1[$iter]}
menu[$i+1]=${array2[$iter]}
((iter++))
done
}
menusetup
这给了我菜单数组,{"host1" "ip1" "host2" "ip2" "host3" "ip3"
这非常适合我需要的东西,但现在我想重用这个函数来传递任何 2 个数组,就像这样。
function menusetup {
iter=0
for ((i=0; i<(count*2); i+=2)); do
menu[$i]=${$1[$iter]}
menu[$i+1]=${$2[$iter]}
((iter++))
done
}
menusetup "${array3[@]}" "${array4[@]}"
编辑:我知道第二个示例传递了数组的整个元素列表。我想知道是否有办法传递和替换数组