¿Problemas de alcance en diferentes idiomas de shell?
arece que pdksh y mksh tienen la implementación de alcance que esperaba.
Por ejemplo
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 y mksh producen mi resultado esperado:
global
f
g
global
Y Bash falla:
line 5: local: x: readonly variable
Dash y Ksh93 también fallaron mis expectativas. (He cambiadolocal
atypeset
en la prueba de Ksh93.)
Esto parece confuso.
UPDATE: he editado la pregunta. La pregunta anterior no se plantea de manera clara.