O que pode acontecer quando uma função Bash atribui um valor a uma variável sem declará-la como local?
local
A atribuição sempre falha porque as variáveis globais são somente leitura dentro das funções.
O Bash restringe automaticamente toda atribuição feita dentro de uma função à própria função.
O valor existe apenas em um novo subshell que o Bash sempre cria para a função.
A atribuição pode alterar uma variável visível em outras partes do script.