我有一个bash脚本,运行时会产生如下输出:
VAR1=test
VAR2=test
我想将这些变量作为环境变量传递给npm脚本,在这种情况下,该脚本仅在当前目录中运行mocha
,就像我在运行VAR1=test VAR2=test mocha
一样。
谢谢。
答案 0 :(得分:1)
对于bash脚本来说,输出这样的shell变量赋值并不是一个好的设计,但是您可以使用包装器脚本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
。
请注意,如果脚本输出键值对而不是shell变量分配,例如VAR1=some value with spaces
而非VAR1='some value with spaces'
,则此答案不适用,可能会很脆弱或危险。
答案 1 :(得分:0)
使用export
:
export VAR1=test
export VAR2=test