比较关联数组

时间:2013-03-28 12:48:29

标签: bash

我有一个包含文件名的关联数组。我想用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省略括号?

1 个答案:

答案 0 :(得分:1)

您需要使用正确的语法来访问数组元素:

if cmp "$k" "${configfiles[$k]}"; then