Избавьтесь от стандартного/корневого набора данных в ZFS

Предполагая, что вы используете оболочку 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
1
04.08.2021, 14:48
0 ответов

Теги

Похожие вопросы