小编Hal*_*ast的帖子

为什么我不能在 zsh 中定义一个名为 path 的只读变量?

在 zsh 中,path是一个特殊的数组变量,其内容与众所周知的PATH变量相关联。

如此特别,事实上,定义和调用函数

f() { local -r path=42 }
Run Code Online (Sandbox Code Playgroud)

导致错误f: read-only variable: path。如果局部变量被声明为可变的(即没有-r),一切都按预期工作。我无法使用其他变量名称重现此错误。

为什么会出现这个错误,是故意的吗?其他名称是否存在类似规则?

我在 macOS 10.12.6 上使用 zsh 5.2 (x86_64-apple-darwin16.0)。

shell zsh variable

5
推荐指数
1
解决办法
2128
查看次数

标签 统计

shell ×1

variable ×1

zsh ×1