Код: Выделить всё
DB=/srv/db
PATH=$PATH:/srv/db
if [ ! -e ~/.test-file ]; then
touch ~/.test-file
fi
Инструкции в этом файле, автоматически выполняются для всех юзеров, когда они логинятся в систему. touch тут для тестов, чтобы убедится что файл test-file создается в папке каждого юзера - в смысле что содержимое my-custom.sh выполняется. Программы, которые для своего запуска требуют переменную DB, отказываются работать, т.к. не видят этой переменной, пока перед запуском программы не сделаешь echo $DB. Делаю команду cmd_run $DB/next_dir получаю ошибку, программа говорит что не видит бд по пути /next_dir (правильно, там ее и нет, т.к. переменная $DB не подставилась). Потом делаю echo $DB (получаю путь /srv/db), после чего ещё раз запускаю cmd_run $DB/next_dir и теперь все ок, т.к. программа уже ищет бд в /srv/db/next_dir.
Пробовал в файл вместо "DB=/srv/db" писать "export DB=/srv/db" - не помогает. В чем может быть проблема? Почему консольная программа, видит переменную только после echo, хотя эта переменная уже есть в env?