Как передать вывод одной команды в качестве переменных env другой - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть скрипт bash, который при запуске выдает такой результат:

VAR1=test
VAR2=test

Я хочу передать эти переменные как переменные окружения в скрипт npm, который в данном случае просто запускает mochaв текущем каталоге, как если бы я работал VAR1=test VAR2=test mocha.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Это не очень хороший вариант для bash-скрипта для вывода подобных переменных оболочки, но вы можете обойти его с помощью скрипта-оболочки runwithvars:

#!/bin/bash
set -a                 # Auto-export all new variables
eval "$(mybashscript)" # Perform whichever actions the script outputs
exec "$@"              # Execute the specified command

Теперь вы можете использовать runwithvars mochaдля выполнения mocha с этими переменными.

Обратите внимание, что если сценарий выводит пары ключ-значение вместо назначения переменных оболочки, например, VAR1=some value with spaces вместо VAR1='some value with spaces', этот ответ не применяется и может бытьхрупкий или опасный.

0 голосов
/ 05 декабря 2018

Использование export:

export VAR1=test
export VAR2=test
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...