Есть ли способ запустить все команды в текущем каталоге с предопределенными переменными ENV?

Пример того, что мне нужно:

Я положил какой-то файл, скажем .env в мой каталог, с:

export SECRET='abcd123'

Затем я запускаю некоторую команду, скажем, rails c , но на самом деле она должна работать как SECRET='abcd123' rails c . Конечно, когда я запускаю команду из другого каталога, эта переменная ENV не должна использоваться.

1 ответ1

0

В вашей домашней директории отредактируйте .bashrc и добавьте следующую функцию:

function dosecret()
{

    [ -f ./.env ] && source ./.env
    $*
    unset SECRET
}

Для тестирования запустите source .bashrc .

Если в текущем каталоге есть файл .env, он читается (где определяется переменная SECRET). Затем команда запускается ($*), и после ее завершения переменная SECRET сбрасывается.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .