Я пытаюсь увеличить имя переменной внутри цикла for, чтобы получить 4 динамические переменные в каждом цикле, это пример
while read line
do
for n in `seq 1 4`
do
vr$n=$(echo -e "$line" | awk '{print $'$n'}')
#test
echo vr$n
done
done < rst.txt
cat rst.txt
AAA BBB CCC DDD
111 222 333 444
*** --- /// +++
Моя проблема в том, что когда я пытаюсь выполнить скрипт, он пытается выполнить результат в переменной, и я получаю сообщение об ошибке «команда не найдена» any idea plz? Спасибо
Именование переменной с помощью переменной (vr$n=value
) невозможно без export
. Однако я предлагаю вместо этого использовать массив:
vr[$n]=$(echo -e "$line" | awk '{print $'$n'}')
и затем укажите значение таким синтаксисом:
echo ${vr[$n]}