答案1
我认为你这里遇到了几个问题。
- 从 WSL Linux Shell 执行 Windows 二进制程序。您正在执行 Windows,那么为什么不从 Windows CMD、.BAT 文件或 Powershell 运行您的程序呢?
无论如何,请确保您已在 /etc/wsl.conf 中启用此功能
[interop]
enabled=True
请注意:此选项在 Insider Build 17713 及更高版本中可用。
- 为什么路径会出现问题,将空格转换为 : ?我不知道。在 Linux 中,路径中的空格表示为:
\
(引号内为横线和空格,如果不使用引号则为空格)
因此,我认为您需要用以下方法替换您的 PATH: d/ProgramFiles/VS_Code/Microsoft:VS:Code/bin 经过: d/ProgramFiles/VS_Code/Microsoft\VS\Code/bin
请检查:/etc/wsl.conf
你应该有:
[interop]
appendWindowsPath=True
请检查选项在[自动挂载]部分。 https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-per-distro-launch-settings-with-wslconf
如果你每次都需要修补你的 PATH,你可以执行类似 fixpath.sh 的脚本:
#!/usr/bin/env bash
PATH=$(echo "$PATH" | sed "s/Microsoft:VS:Code/Microsoft\ VS\ Code/")
export PATH
然后运行:
source ./fixpath.sh
干杯