for循环中的bash嵌套变量

时间:2017-05-11 16:10:26

标签: arrays bash function loops variables

有没有办法执行以下操作?

#!/bin/bash -x

IPFILE_LIST=(
  /copytest/test1
  /copytest/test2/test.conf
  /copytest/test3/test3/test3
  /copytest/test4/test4
)

CopyFunction() {
  for i in "${$1[@]}"; do
    rsync -R $2 $3
  done
}

CopyFunction 'IPFILE_LIST' $i copytestdest

最后这个功能看起来像这样

CopyFunction() {
   for i in "${IPFILE_LIST[@]}"; do
      rsync -R $i /copytestdest/
   done
}

它将执行rsync数组中的每个项目,最后我应得到以下的输出

copytestdest/copytest/test1 copytest/test2/test.conf copytestdest/copytest/test3/test3/test3 copytestdest/copytest/test4/test4

如果可能的话,我也想支持同样的功能,否则它可能需要另一个功能

CopyFunction copytestdest 'IPFILE_LIST'

0 个答案:

没有答案