我在 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"
}
我最初认为,也许cmd
VSCode 用来调用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
,它不会产生任何结果。它不创建文件,也不产生任何输出。
你们有什么想法,为什么会这样?