local
Объявляет переменную, видимую только внутри текущей функции.
Сигнатура
local [имя[=значение]...]local используется только внутри функций. Такая переменная не «протекает» в глобальную область, что защищает от случайной перезаписи внешних значений.
f() {
local x=10
echo "$x" # 10
}
f
echo "${x:-нет}" # нет (x не виден снаружи)