如何轻松地将环境variables传递给“在Windows 10上的Bash”中的.exe文件?

我正在寻找一种方法,当从Windows 10terminal上的Bash调用时,轻松地将环境variables传递给.exe。 看起来

TEST=somevalue example.exe 

不起作用。

以上命令不起作用的原因是因为它是您设置的Linux环境variables。 在“正常的”Windows cmd.exe ,您可以从set TEST=somevalue开始,但是这似乎不能在bash.exe工作,Linux环境variables不与Windows可执行文件共享(调用set实际上是在bash本身的设置命令)。

所以,如果您正在寻找解决方法,我可以考虑采取两步骤的方式来完成此任务。 首先,请在cmd.exe的上下文中调用该命令,而不是使用/C参数执行的bash.exe 。 其次,你需要实际上能够在cmd.exe的oneliner中做到这一点,这也需要一个解决方法,因为在cmd.exe set FOO="bar" & echo %FOO%不起作用)。 如果你用call echo命令的call 。 这会产生以下完整命令:

cmd.exe /C "set FOO=\"bar\" & call echo %FOO%"

你会看到,这会导致输出"bar"