vscode tasks.json 中的进程和 shell 有什么区别
What's the difference between process and shell in vscode tasks.json
Tasks in Visual Studio Code 的 自定义任务 部分描述了任务的属性。有一个 type
属性 定义任务类型:
type: The task's type. For a custom task, this can either be shell
or process
. If shell
is specified, the command is interpreted as a shell command (for example: bash, cmd, or PowerShell). If process
is specified, the command is interpreted as a process to execute.
我不明白它们之间有什么不同。无论我选择shell
还是process
,执行结果都是一样的
那么interpreted as a shell command和command is interpreted as a process to execute有什么区别真正的意思?
shell 命令只能在 shell 中 运行 例如 DIR
用于 cmd
和 if
用于 bash
.所以当你想要运行shell命令时,你必须使用"type": "shell"
设置为运行才正确。如果您只想 运行 一个程序,例如 .bat
、.sh
或 .exe
,那么您可以只使用 "type": "process"
设置。
好吧,我最近遇到了一个问题,我最终通过将类型从“process”更改为“shell”来解决这个问题,我认为这可能对您有所帮助:
我正在尝试 运行 多个 .cpp 文件,并且我在 args 中使用了一个通配符:“${fileDirname}/.cpp”。当类型为 process 时,我无法成功 运行 项目,因为它总是告诉我:“*.cpp”:没有这样的文件或目录,当我更改为“shell”时,一切顺利。这可能是“进程”和“shell”之间的差异之一。
Tasks in Visual Studio Code 的 自定义任务 部分描述了任务的属性。有一个 type
属性 定义任务类型:
type: The task's type. For a custom task, this can either be
shell
orprocess
. Ifshell
is specified, the command is interpreted as a shell command (for example: bash, cmd, or PowerShell). Ifprocess
is specified, the command is interpreted as a process to execute.
我不明白它们之间有什么不同。无论我选择shell
还是process
,执行结果都是一样的
那么interpreted as a shell command和command is interpreted as a process to execute有什么区别真正的意思?
shell 命令只能在 shell 中 运行 例如 DIR
用于 cmd
和 if
用于 bash
.所以当你想要运行shell命令时,你必须使用"type": "shell"
设置为运行才正确。如果您只想 运行 一个程序,例如 .bat
、.sh
或 .exe
,那么您可以只使用 "type": "process"
设置。
好吧,我最近遇到了一个问题,我最终通过将类型从“process”更改为“shell”来解决这个问题,我认为这可能对您有所帮助: 我正在尝试 运行 多个 .cpp 文件,并且我在 args 中使用了一个通配符:“${fileDirname}/.cpp”。当类型为 process 时,我无法成功 运行 项目,因为它总是告诉我:“*.cpp”:没有这样的文件或目录,当我更改为“shell”时,一切顺利。这可能是“进程”和“shell”之间的差异之一。