![将变量与特定的 for 循环文件关联](https://linux22.com/image/33102/%E5%B0%86%E5%8F%98%E9%87%8F%E4%B8%8E%E7%89%B9%E5%AE%9A%E7%9A%84%20for%20%E5%BE%AA%E7%8E%AF%E6%96%87%E4%BB%B6%E5%85%B3%E8%81%94.png)
我想用于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