Скрипт BASH для установки переменных окружения не работает

export экспортирует присвоение переменной дочерним процессам оболочки, в которой выполняется export команда была выполнена. Ваша среда командной строки - это родитель оболочки скрипта, поэтому он не видит присвоение переменной.

Вы можете использовать . (или source) команда bash для выполнения команд скрипта в текущей среде оболочки и достижения желаемого, например

source ./script.shecho "$BASE"

Будет производить

/home/develop/trees

То source команда, часто встречающаяся в скриптах, является синонимом bash для ., который является частью стандарта POSIX (так . доступен, например, в dash, но source это не так).

. ./script.sh     # identical to "source ./script.sh"

(. script.sh и source script.sh будет сначала искать script.sh в PATH, так что безопаснее указать путь к script.sh.)