как объединить 2 массива в один ассоциативный массив

Вам необходимо установить две переменные среды в файле ~/.bashrc.

export CLICOLOR=1
export LSCOLORS=gxBxhxDxfxhxhxhxhxcxcx
1
15.09.2019, 08:13
1 ответ

Вокруг =не должно быть пробелов.

Использование

hash[${array1[i]}]=${array2[i]}

было бы более разборчивым ИМО.

Для записи, в zsh, чтобы превратить два массива в ассоциативный массив/хэш, вы должны сделать:

typeset -A hash
hash=("${(@)array1:^array2}")

Где ${array1:^array2}оператор сжатия массива , а флаг раскрытия параметра @используется для сохранения пустых элементов (в двойных кавычках, подобно"$@"). (кстати, хэши bash не поддерживают пустые ключи ).

5
27.01.2020, 23:22

Теги

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