如何在Array中获取变量

时间:2017-05-12 04:35:37

标签: arrays bash variables

我一直在试着解决这个问题而且无法弄清楚

我有一个数组工作正常,除了1值是一个变量,我无法弄清楚如何让函数实际使用变量的值

#!/bin/bash
set -e

FILE_LIST=(
  "${file0}"
  /etc/file1
  /etc/file2/file2
  /etc/file3
)

CopyFiles() {
  local -a arr
  local eval_cmd i
  printf -v eval_cmd 'arr=( "${%q[@]}" )' "$2"
  eval "$eval_cmd"
  for i in "${arr[@]}"; do
    "$1"
  done
}

RevertFiles() {
  cp -pv "/tmp$i" "$i"
}

file0=/etc/file0 # it could also be /etc/fileA or any other file path

CopyFiles 'RevertFiles' 'FILE_LIST'

如何让for循环使用$ file0的值?

0 个答案:

没有答案