Node.js 节点spawn命令中的echo bash变量

Node.js 节点spawn命令中的echo bash变量,node.js,bash,docker,jenkins,spawn,Node.js,Bash,Docker,Jenkins,Spawn,帮我推断bash变量值 我一直在谷歌上搜索一些解决方案,到目前为止还没有找到一个我想要做的例子 我有一个Jenkins作业,它运行一个包含节点运行时的docker映像。在docker映像的创建过程中,提供了一些环境变量(使用export),我希望通过生成一个child\u进程并使用bash提取变量指向的文本值来捕获这些变量 例如,constchild=child_process.spawn('echo',['$var']) 我尝试了我能想到的各种引号和转义,但我不确定如何从这个命令中引用bash

帮我推断bash变量值

我一直在谷歌上搜索一些解决方案,到目前为止还没有找到一个我想要做的例子

我有一个Jenkins作业,它运行一个包含节点运行时的docker映像。在docker映像的创建过程中,提供了一些环境变量(使用
export
),我希望通过生成一个child\u进程并使用bash提取变量指向的文本值来捕获这些变量

例如,
constchild=child_process.spawn('echo',['$var'])

我尝试了我能想到的各种引号和转义,但我不确定如何从这个命令中引用bash变量,该命令是从节点脚本的派生子进程中调用的

如果有任何不清楚的地方,请告诉我。我有一个首选的最终解决方案,但它目前被阻止,所以我正在努力实现这一点,同时等待其他解决方案可用


为清晰起见进行更新-env变量存储在bash中。您通常可以通过使用
echo$var
来访问它。我在运行节点脚本的bash shell中,我想通过生成子进程来推断要在节点脚本中使用的值。

在节点中,您可以访问全局对象上的环境变量:

就你而言:

const child = child_process.spawn('echo', [process.env.var]);
使用
printenv
而不是
echo
。 我和你有同样的问题,这里接受的答案没有帮助。不知道为什么会被接受

尝试使用
printenv
而不是
echo
来显示ENV值,如下所示:

const child = child_process.spawn( 'printenv', [ 'var' ] );

变量存储在bash中,而不是node中。啊,我明白你的意思了。如果它们存储在.bash_profile中,但它们不是.tbh,这已经有几年历史了,对我来说已经脱离上下文了!我会尽力核实你的回答是否正确。只是想添加一个对我有用的解决方案来帮助其他登陆这里的人。
const child = child_process.spawn( 'printenv', [ 'var' ] );