Что может произойти, если функция Bash присваивает значение переменной, не объявляя её как local?
local
Значение существует только в новой subshell, которую Bash всегда создаёт для функции.
Bash автоматически ограничивает каждое присваивание внутри функции областью этой функции.
Присваивание всегда завершается ошибкой, поскольку глобальные переменные внутри функций доступны только для чтения.
Присваивание может изменить переменную, доступную в других местах скрипта.