Соединение переменной со специфичным для файла цикла

Python & Perl является лучшей для запуска с. Можно также пойти для сценария VB/Java

2
22.06.2013, 02:54
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
2
27.01.2020, 21:57
  • 1
    Действительно ли возможно связать несколько переменных? varA1 varA2 для fileA, и т.д.? –  PoGibas 22.06.2013, 03:16
  • 2
    @Poe Не непосредственно, массивы удара одномерны. Но можно создать массивы: arrayindex=0; filevarno[fileA] = $arrayindex; оценка filevars_ $arrayindex = (varA1 varA2); ((arrayindex ++));... –  Hauke Laging 22.06.2013, 04:26

Так как Вы находитесь на v4 bash, ассоциативные массивы являются опцией

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

Обратите внимание, что порядок обработки может отличаться от порядка в рамках определения массива

3
27.01.2020, 21:57

Теги

Похожие вопросы