Linux shell脚本中拷贝数组常用的方法:
1、一般情况
source_array=(hello world in shell) #源数组,一共4个元素
target_array=(${source_array[*]}) #整体赋值,将source_array整个拷贝
target_array=(${source_array[*]}) #整体赋值,将source_array整个拷贝
2、当数组名为参数或变量时
source_array=(hello world in shell)
s="source_array"
t="target_array"
eval $t=\(\${$s[*]}\)
s="source_array"
t="target_array"
eval $t=\(\${$s[*]}\)
实现效果和第一种情况一样,主要是使用eval命令做了两次替换
注:中括号前后的空格是没有的,不过51CTO的博客好像不能正常显示中括号,所以用了特殊字符
转载于:https://blog.51cto.com/dking94/112308