Ты почти у цели. Просто используйте массив и заполните его внутри l oop.
#!/usr/bin/env bash
values=()
for i in {1..3}; do
read -p "Insert value $i: " v
values+=("$v")
printf '%s %s\n' "you wrote" "$v"
done
echo
echo "check of saved values:"
echo ${values[0]}
echo ${values[1]}
echo ${values[2]}
Просто имейте в виду, что массивы bash начинаются с нуля 0
index.
РЕДАКТИРОВАТЬ: Как указал Иван, нулевой индексированный массив может быть изменен в соответствии со значением для l oop.
#!/usr/bin/env bash
values=()
for i in {1..3}; do
read -p "Insert value $i: " v
values[$i]="$v"
printf '%s %s\n' "you wrote" "$v"
done
echo
echo "check of saved values:"
echo ${values[1]}
echo ${values[2]}
echo ${values[3]}