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