我在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帮助选项。但这不起作用:
{
    "version": "0.1.0",
    "command": "bash",
    "isShellCommand": true,
    "args": [ "-help" ],
    "showOutput": "always"
}

我最初以为VSCode用来调用tasks.jsoncmd可能没有显示bash的输出。所以我尝试了这个任务配置来查看bash是否正在被执行,而不是。
{
    "version": "0.1.0",
    "command": "bash",
    "isShellCommand": true,
    "args": [ "-c", "touch \"someFile.txt\"" ],
    "showOutput": "always"
}

如果我从bash直接运行bash -c "touch someFile.txt",它将按预期工作。如果我使用上面的cmd进行尝试,它不会产生任何结果。它不会创建文件,也不会产生任何输出。
你们知道为什么吗?

最佳答案

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

关于bash - Windows 10 native bash确实响应VSCode中的task.json,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37772404/

10-16 20:55