如何轻松地将环境变量传递给“Windows 10 上的 Bash”中的 .exe?

如何轻松地将环境变量传递给“Windows 10 上的 Bash”中的 .exe?

我正在寻找一种方法,在从 Windows 10 终端上的 Bash 调用时轻松地将环境变量传递给 .exe。似乎

TEST=somevalue example.exe

不起作用。

答案1

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

因此,如果您正在寻找解决方法,我可以想到一个两步方法来实现这一点。首先,在上下文中调用命令而不是cmd.exebash.exe您可以使用参数来执行此/C操作。其次,您实际上需要能够在一行中执行此操作cmd.exe,这也需要一种解决方法,因为set FOO="bar" & echo %FOO%在中不起作用cmd.exe(尝试一下)。如果您echo在命令前面加上call它就可以了。这导致以下完整命令:

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

您将会看到这会产生输出"bar"

相关内容