我在Windows 10上使用新的本机bash。我尝试在运行调用新bash的任务时在VSCode控制台中看到任何输出。例如,这个工作,因为它使用CMD:Windows 10本地bash确实响应VSCode中的tasks.json
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
调用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
,它什么都不会产生。它不会创建该文件,并且不会产生任何输出。
你们有什么想法,为什么这是?
我想我看见这里类似的帖子在几个星期前,但似乎无法找到它:-)你是否尝试了'/ path/to/bash'的完整路径和'/ c/Users /.../ someFile.txt'的完整路径? – andlrc
这就是我用'cmd.exe'使用where命令的意图。我知道VSCode可以看到bash可执行文件。我也厌倦了使用完整路径和相对路径= / – atzero