1
似乎pdksh和mksh具有我期望的范围实现。在不同shell语言中的范围问题?
例如:
readonly x='global'
f() {
local x
readonly x='f'
echo $x
}
g() {
local x
readonly x='g'
echo $x
}
echo $x
f
g
echo $x
了pdksh和mksh我产生预期的结果:
global
f
g
global
和bash失败:
line 5: local: x: readonly variable
短跑和ksh93的失败我的期望了。 (我在Ksh93的测试中将local
更改为typeset
)。
这看起来很混乱。
更新:我编辑了这个问题。以前的问题没有明确说明。
在gnu.bash.bug邮件列表上有关于此主题的[最近讨论](http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00105.html)。 – 2011-02-18 21:59:01