Я пишу скрипт bash, где мне нужно создавать массивы внутри цикла for и называть каждый массив, используя строку, содержащуюся в счетчике (элемент массива), каждую итерацию.Bash - Создание массивов с использованием счетчика циклов
Вот код:
myArray=(joe bob dave mark)
for i in "${myArray[@]}"
do
"$k_array"=(`cat fileUsedToPopulate.txt`)
done
# echo to test if one of the arrays has been created and populated
for j in "${joe_array[@]}"
do
echo $j
done
Желаемый результат 4 массивы, joe_array bob_array и т.д., каждый заполняется с файлом.
Однако я не нашел в любом случае, чтобы избежать $ k, так что он присоединяется к имени массива при его объявлении/заполнении.
Здесь ошибка я получаю:
строка 30: ошибка синтаксиса около неожиданной лексемы `cat fileUsedToPopulate.txt
' линии 30: "$k_array"=(
кошачьих $ DIR/$ braDir/oem.txt`)'
Спасибо за любая помощь предоставляется.
yep, я получаю это ;-). Хорошего дня. – shellter
Спасибо, ты тоже! –
Благодарим вас за ответ. Замечание о используемом файле, это пример кода, в моем реальном скрипте файл, используемый для заполнения массивов, отличается для каждой итерации. Существует путь, указывающий на текстовый файл, который также зависит от $ k. Я пытался использовать код eval, но он не ускользнул от первого, и цикл не завершился должным образом. –