Запустив скрипт, используя.файл env

Я довольно новичок в запуске скриптов в UNIX / Linux. У меня есть.файл env, содержащий информацию об окружающей среде и a .сценарий sh, содержащий создания папок и т. д. Для этой среды.

Как бы я запустил скрипт в среде, содержащейся в.env-файл или как я могу указать скрипт на целевую среду?

было бы так же просто, как:

bash 'scriptname.sh' 'filename.env'

2 ответов


перед запуском скрипта необходимо создать среду в вызывающей оболочке:

source 'filename.env' && bash 'scriptname.sh'

чтобы предотвратить разбиение среды вызывающей оболочки, вы можете запустить это в sub shell:

(source 'filename.env' && bash 'scriptname.sh')

. ./filename.env 
sh scriptname.sh

первая команда устанавливает env. переменные в оболочке, второй будет использовать его для выполнения себя.