O seguinte script falha quando executado com bash 4.4.20(1)
#!/bin/bash
bar() {
local args=("y")
}
foo() {
local -r args=("x")
bar
}
foo
com erro line 3: args: readonly variable
, mas é bem-sucedido quando executado com o bash 4.2.46(2), o que faz sentido após a leitura de 24.2. Variáveis locais .
O script a seguir com variáveis não array é executado sem problemas:
#!/bin/bash
bar() {
local args="y"
}
foo() {
local -r args="x"
bar
}
foo
Não consegui encontrar nenhuma alteração que explique a diferença entre o bash 4.2.46(2) e o bash 4.4.20(1).
P: isso é um bug no bash 4.4.20(1)? se esse é o comportamento esperado, por que o segundo script não falha?