Есть несколько способов, с разными преимуществами и недостатками.Самый безопасный способ - сохранить полное имя параметра в одном параметре, а затем использовать косвенное указание для его расширения:
tmp="$sala$i" # sets $tmp to 'a10'
echo "${!tmp}" # prints the parameter named by $tmp, namely $a10
Несколько более простым способом является команда, подобная этой:
eval echo \${$sala$i}
который будет запускать eval
с аргументами echo
и ${a10}
и, следовательно, запускать echo ${a10}
.Этот способ в целом менее безопасен - его поведение немного более хаотично зависит от значений параметров - но для него не требуется временная переменная.