変数を特定のforループファイルに関連付ける

変数を特定のforループファイルに関連付ける

forファイルセットに使用したいです。

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

それぞれについて特定。 (例:ファイルA変数A、ファイルB変数B)を$file使用したいと思います$variable

そのような接続はどのように行うことができますか?

答え1

v4を使用しているのでbash連想配列選択です

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

関連情報