我有一个包含文件名的关联数组。我想用cmp来看看它们是否彼此不同。
declare -A configfiles
configfiles["file1"]="file2"
for k in "${!configfiles[@]}"
do
if cmp $k $configfiles[$k]; then
echo Do something
fi
done
Bash返回: cmp:[file1]:没有这样的文件或目录
如何在调用cmp时让bash省略括号?
答案 0 :(得分:1)
您需要使用正确的语法来访问数组元素:
if cmp "$k" "${configfiles[$k]}"; then