Создание массива Bash с несколькими элементами - PullRequest
0 голосов
/ 28 мая 2019

Очень простая проблема bash. У меня есть массив, который выглядит как:

my_array=(1 2 3)

Однако, когда я печатаю массив или цикл через него, bash ссылается только на первый элемент.

echo $my_array
1

for element in my_array ; do
    echo $element
done
1

Как я могу получить доступ ко всем элементам?

1 Ответ

4 голосов
/ 28 мая 2019

Вам нужно использовать правильный синтаксис. Чтобы отобразить все элементы, используйте

for element in "${my_array[@]}" ; do
    printf '%s\n' "$element"
done

$my_array совпадает с ${my_array[0]}.

Кроме того, цикл в исходном вопросе выводит my_array, а не 1. Без $ это не переменная, это просто слово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...