Windows 10本机bash确实响应VSCode中的tasks.json

时间:2016-06-12 08:54:40

标签: bash cmd windows-10 visual-studio-code windows-subsystem-for-linux

我在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"
}

我最初认为,VSCode用于调用cmd的{​​{1}}可能不会显示bash的输出。所以我尝试了这个任务配置来查看bash是否被执行,但事实并非如此。

bash

如果我直接从{ "version": "0.1.0", "command": "bash", "isShellCommand": true, "args": [ "-c", "touch \"someFile.txt\"" ], "showOutput": "always" } 开始bash -c "touch someFile.txt",它就会按预期运行。如果我使用上面的cmd尝试它,它什么都不产生。它不会创建文件,也不会产生任何输出。

你们有没有想过为什么会这样?

1 个答案:

答案 0 :(得分:1)

你需要更换" bash"使用" c:\\ Windows \\ sysnative \\ bash.exe"