0

我有一个包含文件名的关联数组。我想对它们使用 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]: No such file or directory

如何在调用 cmp 时让 bash 省略括号?

4

1 回答 1

1

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

if cmp "$k" "${configfiles[$k]}"; then
于 2013-03-28T12:54:32.233 回答