3

我在 Windows 10 上使用新的本机 bash。当我运行调用新 bash 的任务时,我试图在 VSCode 控制台中查看任何输出。例如,这是有效的,因为它使用 cmd:

tasks.json

{
    "version": "0.1.0",
    "command": "WHERE",
    "isShellCommand": true,
    "args": [ "bash" ],
    "showOutput": "always"
}

这给了我我期望的结果,并将其打印到 VSCode 控制台:C:\Windows\System32\bash.exe. 这也告诉我 cmd 可以看到bash.exe.

现在,如果我尝试从 VSCode 实际运行 bash,我什么也得不到。没有任何输出。如果我要以独立方式启动cmd,则以下命令将起作用:bash -help. 它将在 cmd 窗口中显示完整的 bash 帮助选项。但这tasks.json不起作用:

{
    "version": "0.1.0",
    "command": "bash",
    "isShellCommand": true,
    "args": [ "-help" ],
    "showOutput": "always"
}

我最初认为,也许cmdVSCode 用来调用bash的只是没有显示 bash 的输出。因此,我尝试了此任务配置以查看是否正在执行 bash,但事实并非如此。

{
    "version": "0.1.0",
    "command": "bash",
    "isShellCommand": true,
    "args": [ "-c", "touch \"someFile.txt\"" ],
    "showOutput": "always"
}

如果我bash -c "touch someFile.txt"直接从运行cmd,它会按预期工作。如果我使用上面的方法尝试它tasks.json,它不会产生任何结果。它不创建文件,也不产生任何输出。

你们有什么想法,为什么会这样?

4

1 回答 1

1

您需要将“bash”替换为“c:\\Windows\\sysnative\\bash.exe”

于 2016-12-02T22:33:55.190 回答