Как определить массивы в zsh с заданными пользователем именами ключей

Вы можете

servers=()                     # declare an empty array
# allow empty input or the string "END" to terminate the loop
while IFS= read -r server && [[ -n $server && $server != "END" ]]; do
    servers+=( "$server" )     # append to the array
done
declare -p servers             # display the array

Это также позволяет пользователю вручную вводить записи или выполнять перенаправление из файла.

1
24.08.2020, 19:46
1 ответ

Этот синтаксис был введен в 54b395844030342213cacba4c569a6c5e6781c46 , который был впервые выпущен в zsh 5.5 в апреле 2018 года. Ваша версия zsh предположительно старше этой.

В старых версиях можно использовать отдельные назначения для каждой клавиши.

array=(one)
array[3]=three
array[4]=four

Обратите внимание: если вам нужен ассоциативный массив (со строками в качестве ключей, а не с положительными целыми числами ), вы должны сначала объявить массив с typeset -A array.

2
18.03.2021, 23:10

Теги

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