3

我在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,它什么都不会产生。它不会创建该文件,并且不会产生任何输出。

你们有什么想法,为什么这是?

+0

我想我看见这里类似的帖子在几个星期前,但似乎无法找到它:-)你是否尝试了'/ path/to/bash'的完整路径和'/ c/Users /.../ someFile.txt'的完整路径? – andlrc

+0

这就是我用'cmd.exe'使用where命令的意图。我知道VSCode可以看到bash可执行文件。我也厌倦了使用完整路径和相对路径= / – atzero

回答

1

您需要更换“庆典”,“C:\\的Windows \\ \\ sysnative bash.exe”

相关问题