将变量与特定的 for 循环文件关联

将变量与特定的 for 循环文件关联

我想用于for一组文件。

for file in fileA fileB fileC; do
    COMMAND $file $variable
done

对于每个$file我想使用特定的$variable.
(例如:文件A变量A;文件B变量B)

怎样才能做到这样的关联呢?

答案1

由于您使用的是 v4bash关联数组是一个选择

declare -A arr
arr=([fileA]=variableA [fileB]=variableB [fileC]=variableC)
for file in "${!arr[@]}"
 do
    command "$file" "${arr[$(basename $file)]}"
done

请注意,处理顺序可能与数组定义中的顺序不同

答案2

declare -A filevars
filevars[fileA]=foo
filevars[fileB]=bar
filevars[fileC]=baz
for file in fileA fileB fileC; do
  echo cmd "$file" "${filevars[$file]}"
done

相关内容