Ниже скрипт KSH приводит к ошибке «Синтаксическая ошибка в строке 4: '$' неожиданно».
!#/bin/ksh
for i in `cat pins.list`
do
set -A array_${i} `grep -i "$i " pins.txt | awk '{print $2}'`
echo "Elements of array_${i} are ${array_${i}[@]}"
done
#=================================
Я создаю несколько массивов (array_ $ i) для каждой итерации i после анализа файла pins.txt.
Я могу видеть созданные массивы array_block, array_group, array_range и элементы pins.txt, правильно сохраненные в этих массивах , но я не могу распечатать значения каждого из этих массивов из-за этой ошибки. Печать содержимого этих трех массивов вне цикла не вызывает проблем. Но мне нужно получить доступ к этим массивам внутри цикла для дальнейшей обработки в моем скрипте. Есть ли способ решить эту проблему?
Содержимое pins.list и pins.txt следующее:
pins.list (Arrays)
==================
block
group
range
pins.txt
===========
range 444
group 46
range 32
block 96
group 99
range 123
block 56
range 22
Спасибо