Предполагая, что вы используете оболочку bash
, похоже, что вы хотите использовать массив:
root[1]=path/to/root1
root[2]=path/to/root2
for i in {1..2}; do
printf '%s\n' "${root[i]}"
done
или запишите присваивание root
как присваивание одного массива (обратите внимание, что первый индекс равен 0 в массиве bash
, если не используются явные индексы ),
root=( path/to/root1 path/to/root2 )
for i in {0..1}; do
printf '%s\n' "${root[i]}"
done
и/или перебирать значения массива (, а не его индексы ),
root=( path/to/root1 path/to/root2 )
for i in "${root[@]}"; do
printf '%s\n' "$i"
done
(чтобы просто вывести массив, цикл не нужен, printf '%s\n' "${root[@]}"
достаточно будет печатать значения массива на отдельных строках)
В общем, вы можете не знать, какие индексы используются массивом (массив может иметь прерывистые индексы ), поэтому для перебора доступных индексов вы должны перебрать"${!root[@]}"
:
root=( path/to/root1 path/to/root2 )
for i in "${!root[@]}"; do
printf '%s\n' "${root[$i]}"
done