gpt4 book ai didi

python - 带有 --help arg 的 git 子命令不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 19:43:02 24 4
gpt4 key购买 nike

有这个示例代码:

#!/usr/bin/env python3
import argparse


def main():
parser = argparse.ArgumentParser(description="Some Description")
parser.add_argument('some-arg')
args = parser.parse_args()
print(args)

if __name__ == '__main__':
main()

我将此代码添加到名为 git-mycommand 的文件中,使其可执行并将其复制到 /usr/bin

现在尝试使用 --help 运行命令,给了我这个意外的输出:

user@user:~$ git mycommand --help
No manual entry for git-mycommand
See 'man 7 undocumented' for help when manual pages are not available.

如果我在没有 --help 的情况下正常运行命令,它会正常工作,例如:

oerp@oerp:~$ git mycommand some_val
Namespace(**{'some-arg': 'some_val'})

或者如果我不将其用作 git 子命令并直接运行它,例如:

oerp@oerp:~$ git-mycommand --help
usage: git-mycommand [-h] some-arg

Some Description

positional arguments:
some-arg

optional arguments:
-h, --help show this help message and exit

有谁知道为什么自定义 git 子命令不能与 --help 参数一起正常工作?或者也许还有其他事情,我需要做,所以它会显示预期的输出?

最佳答案

git 命令正在接收 --help 选项,而不是您的子命令。

Note that git --help ... is identical to git help ... because the former is internally converted into the latter.

https://git-scm.com/docs/git-help

git help 调用 git-help,打开给定命令的手册页。

关于python - 带有 --help arg 的 git 子命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60323269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com