带有 argparse 的 fish 函数的命名参数

0az*_*0az 4 shell parsing arguments fish

function内置的fish具有-a/--argument-names允许将参数绑定到名称的选项。

是否仍然可以在使用argparse内置函数的同时执行此操作?如果是这样,如何?

Kur*_*der 5

我设计并实现了argparse. 是的,从技术上讲,您可以在相同的功能中使用该--argument标志,argparse但这样做没有意义。该--argument选项完全独立argparse于标志运行并且不知道标志。创建以下函数:

function x -a arg1 -a arg2
    set --show arg1 arg2 argv
end
Run Code Online (Sandbox Code Playgroud)

现在,调用它正是如此:x --flag val arg。请注意,--flag绑定到arg1并且val绑定到arg2并且argv仍然包含传递给函数的所有参数。如果您的函数有标志,则不应使用--argument. 如果没有,那么使用argparse.