O script contém o comando set -u
?
Isso significa
Treat unset variables and parameters other than the special parameters "@" and "*" as an error when performing parameter expansion. If expansion is attempted on an unset variable or parameter, the shell prints an error message, and, if not interactive, exits with a non-zero status.
Em outras palavras, se $BAR_EXT
não estiver definido, algo como
BAR_FILE="$BAR_FILE$BAR_EXT"
falharia. O comando
BAR_EXT=${BAR_EXT-}
definirá explicitamente $BAR_EXT
como uma string vazia
se não estiver definido, evitando assim esse erro.