2013-03-28 58 views
0

我有一個保存文件名的關聯數組。我想使用cmp來查看它們是否彼此不同。比較關聯數組

declare -A configfiles 
configfiles["file1"]="file2" 

for k in "${!configfiles[@]}" 
    do 
     if cmp $k $configfiles[$k]; then 
      echo Do something 
     fi 
    done 

猛砸回報: CMP:[文件1]:沒有這樣的文件或目錄

我怎樣才能得到的bash省略括號同時呼籲CMP?

回答

1

您需要使用正確的語法來訪問數組元素:

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

這工作,謝謝:) – bcd