如何使用用户提供的键名在 zsh 中定义数组

如何使用用户提供的键名在 zsh 中定义数组

我刚刚开始使用 zsh,但不知道如何使用用户定义的键定义数组。

(我正在关注有关数组的文档:http://zsh.sourceforge.net/Doc/Release/Parameters.html#Array-Parameters

➜ ~ array=(one [3]=three four)
zsh: no matches found: [3]=three four

我在这里做错了什么?有没有一种方法可以像 bash 中那样使用用户定义的索引名称来定义数组?

答案1

该语法是在54b395844030342213cacba4c569a6c5e6781c46这是第一个释放2018 年 4 月的 zsh 5.5 中。您的 zsh 版本可能比该版本更旧。

在旧版本中,您可以为每个键使用单独的分配。

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

请注意,如果您想要一个关联数组(以字符串作为键,而不是正整数),则必须首先使用 声明该数组typeset -A array

相关内容