HELLO=world
SOMETHING=nothing
前几天,我发现了这个很棒的脚本,它将这些变量放入当前会话中,因此当我运行类似的内容时
$(cat ./.env | grep -v ^# | xargs) && node test
然后,我可以访问test.js节点文件中的变量.
console.log(process.env.HELLO)
console.log(process.env.soMETHING)
问题是该命令将.env变量放在整个会话中,因此当我在运行${cat ./.env | grep -v ^#| xargs)的情况下运行节点测试时,它仍然可以访问对于这些变量,我正在编写一个解决这些变量的node.js测试,我希望能够在有和没有这些.env变量的情况下运行相同的命令,而不必担心它们是否仍在会话中.理想情况下,我想跑步
put-env-variables-for-this-command-first-command node test && node test
并且让env变量仅在第一次运行时在测试脚本中可用.
解决方法:
这将使您仅在调用节点测试期间即可访问变量
env $(<.env) node test