我一直在试着解决这个问题而且无法弄清楚
我有一个数组工作正常,除了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的值?