我正在寻找一种方法,当从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" 。