1

It appears that pdksh and mksh has the scoping implementation I expected.

For example:

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 and mksh produce my expected result:

global f g global 

And Bash fails:

line 5: local: x: readonly variable 

Dash and Ksh93 failed my expect, too. (I've changed local to typeset in Ksh93's test.)

This seems confusing.

UPDATE: I've edited the question. The question before is not stated in a clear way.

1 Answer 1

1

Bash and Dash don't fail if the global variable is not read only.

Korn (ksh93) doesn't fail only if none of the instances of x are read only.

Sign up to request clarification or add additional context in comments.

1 Comment

There's a recent discussion of this topic on the gnu.bash.bug mailing list.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.