我正在尝试在 ZSH 中设置一个数组(使用 oh-my-zsh 配置)。
export AR=(localhost:1919 localhost:1918)
但我收到这样的错误:
zsh: number expected
如果我不添加导出命令,就可以了。我没有在 *rc 文件中输入以上内容,只是在 zsh 提示符下。可能是什么问题呢?
我正在尝试在 ZSH 中设置一个数组(使用 oh-my-zsh 配置)。
export AR=(localhost:1919 localhost:1918)
但我收到这样的错误:
zsh: number expected
如果我不添加导出命令,就可以了。我没有在 *rc 文件中输入以上内容,只是在 zsh 提示符下。可能是什么问题呢?
您不能export
在 zsh 中使用数组。
欲了解更多信息:http: //zsh.sourceforge.net/Guide/zshguide02.html
请注意,您不能导出数组。如果你导出一个参数,然后给它赋值一个数组,环境中不会出现任何东西;您可以使用外部命令
printenv VARNAME
(再次否$
,因为命令需要知道名称,而不是值)来检查。数组还有一个更微妙的问题。内置的导出只是内置排版的一种特殊情况,它定义了一个变量而不将其标记为导出到环境。你可能认为你可以做到
typeset array=(this doesn\'t work)
但是你不能——特殊的数组语法只有在赋值不遵循命令时才能理解,而不是像这里的情况那样的普通参数,所以你必须把数组赋值放在下一行。这是一个非常容易犯的错误。排版的更多用途将在第 3 章中介绍;它们包括在函数中创建局部参数,以及
export
为参数定义特殊属性(属性只是其中之一)。