#arrays #bash #variables
#массивы #bash #переменные
Вопрос:
Предположим, у меня есть различное количество значений, хранящихся в переменной (вызываемой MY_VARIABLE
). Первые из них, то есть: 12345 67890 …
Теперь я хотел бы просмотреть этот список значений и присвоить их 1:1
переменной на основе массива следующим образом:
MY_ARRAY[0]=12345
MY_ARRAY[1]=67890
...
Как этого можно достичь?
Пожалуйста, обратите внимание: при попытке выполнить это с помощью цикла происходит сбой, поскольку MY_ARRAY[0]
отображаются все значения (12345, 67890, …) внутри.
Моя версия bash: GNU bash, версия 3.2.39(1)-release (i486-pc-linux-gnu)
Ответ №1:
MY_ARRAY=( $MY_VARIABLE )
Разделит значения, разделенные пробелами, в MY_ARRAY с начальным индексом в 0.
Вы просматриваете значения массива с помощью:
${MY_ARRAY[0]} ${MY_ARRAY[1]) etc...
Просмотр всех значений в массиве одновременно с:
${MY_ARRAY[@]}
Ответ №2:
Вы можете использовать read -a
:
MY_VARIABLE='12345 67890'
read -a arr <<< "$MY_VARIABLE"
printf "%sn" "${arr[@]}"
12345
67890