I'm seeing what appears to be an inconsistency with using `readonly` on
variables declared in a previous scope.
declare stringdeclare -i intdeclare -a array
init_vars () { readonly string="foo" readonly int=100 readonly array=(1 2)
# Print the (hopefully) readonly variables declare -p string int array}
init_vars
This prints the expected output (IMO):
declare -r string="foo"declare -ir int="100"declare -ar array=([0]="1" [1]="2")
Now if I attempt to do the same for local variables declared as such:
foo () { local string local -i int local -a array
init_vars}
foo
This prints different output for the indexed array only:
declare -r string="foo"declare -ir int="100"declare -ar array
Things get even more confusing if I declare an associative array, which
readonly seems to think is now an indexed array, but maybe that's a different
issue.
Thoughts?
TIA,
Will