Start-Process"git"返回奇怪的129退出代码

ДМИ*_*КОВ 5 git bash powershell

在Bash

$ git status > /dev/null; echo $?
0
Run Code Online (Sandbox Code Playgroud)

Powershell中的相同存储库

$> (Start-Process git -ArgumentList="status" -Wait -PassThru).ExitCode
129
Run Code Online (Sandbox Code Playgroud)

这里发生了什么,是什么129意思,为什么不等于0以及如何做到正确?

Edw*_*son 9

当你git不正确地指定参数(并且需要打印它的用法)时,它将以错误代码129退出:

C:\Temp>git status --asdf
error: unknown option `asdf`
usage: git status [options] [--] <filepattern>...

    .... help is printed here ....

C:\Temp>echo %ERRORLEVEL%
129
Run Code Online (Sandbox Code Playgroud)

您是否可能错误地通过PowerShell传递命令?(例如,-Wait -Passthrough正在交付git-status?)

您可以通过调用git-status命令而不是git使用status参数调用来完全避免传递参数.