5

我正在尝试在 ZSH 中设置一个数组(使用 oh-my-zsh 配置)。

export AR=(localhost:1919 localhost:1918)

但我收到这样的错误:

zsh: number expected

如果我不添加导出命令,就可以了。我没有在 *rc 文件中输入以上内容,只是在 zsh 提示符下。可能是什么问题呢?

4

1 回答 1

9

您不能export在 zsh 中使用数组。

欲了解更多信息:http: //zsh.sourceforge.net/Guide/zshguide02.html

请注意,您不能导出数组。如果你导出一个参数,然后给它赋值一个数组,环境中不会出现任何东西;您可以使用外部命令printenv VARNAME(再次否$,因为命令需要知道名称,而不是值)来检查。数组还有一个更微妙的问题。内置的导出只是内置排版的一种特殊情况,它定义了一个变量而不将其标记为导出到环境。你可能认为你可以做到

typeset array=(this doesn\'t work)

但是你不能——特殊的数组语法只有在赋值不遵循命令时才能理解,而不是像这里的情况那样的普通参数,所以你必须把数组赋值放在下一行。这是一个非常容易犯的错误。排版的更多用途将在第 3 章中介绍;它们包括在函数中创建局部参数,以及export为参数定义特殊属性(属性只是其中之一)。

于 2013-08-16T08:27:16.363 回答