Есть скрипт на bash:
#!/bin/bash
source "var.conf";
echo bar"$VAR$VAR"bar;
VAR=foo;
echo bar"$VAR$VAR"bar;
в var.conf объявлена переменная VAR:
VAR=foo
Результат выполнения скрипта:
barfoo
barfoofoobar
Почему результаты
echo bar"$VAR$VAR"bar; разные?
UPD: Причиной бага оказался выбор директивы перевода строк. Выбираем crlf, ставим пустую строку после строки с объявлением переменной в var.conf и дело в шляпе.