этой темы в списке рассылки gnu.bash.bug.
е, что pdksh и mksh имеют ожидаемую реализацию.
Например:
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
И Баш не может:
line 5: local: x: readonly variable
Dash и Ksh93 тоже не оправдали моих ожиданий. (Я изменилсяlocal
вtypeset
в тесте Кш93.)
Это кажется запутанным.
ОБНОВЛЕНИЕ: я редактировал вопрос. Вопрос до этого не сформулирован четко.