Если вы хотите получить переменные в среде , чтобы они передавались дочерним процессам, вы можете использовать bash's set -a
и set +a
. Первый означает: «Когда я устанавливаю переменную, тоже устанавливаю соответствующую переменную окружения». Так что это работает для меня:
check:
bash -c "set -a && source .env.test && set +a && cargo test"
Это передаст все в .env.test
в cargo test
как переменные окружения.
Обратите внимание, что это позволит вам передавать окружение подкомандам, но не позволит вам устанавливать переменные Makefile (которые в любом случае разные). Если вам нужно последнее, попробуйте одно из других предложений здесь.