У меня создалось впечатление, что source был синонимом . в bash. Однако, похоже, что в файле .profile source не работает. Это видео youtube демонстрирует, что, когда source используется в ~/.profile для источника файла foo, переменная, определенная в этом файле, не экспортируется в последующие оболочки. Однако, если вместо этого файл создается с помощью ., переменная экспортируется как ожидалось.
Обратите внимание, что когда я использую source, переменная среды НЕ экспортируется, но когда я использую он делает.