选项
命令行参数可以分为选项和位置参数。以下部分描述了选项的定义和使用特性。我们首先介绍一些关于使用选项的基础知识,然后详细讨论选项和参数的各种工作方式。
一般来说,选项 是在以 -
或 --
为前缀的命令后面的内容。根据上下文,选项 可以有值,也可以没有值。
选项可以通过使用带有方法参数的注解定义目标方法,或通过使用 CommandRegistration
进行编程定义。
备注
在下面的部分中,@ShellOption
指的是 遗留注解模型,而 @Option
指的是 注解模型。
章节摘要
🗃️ 基础
3 个项目
📄️ 短格式
短格式 POSIX 选项通常只是长格式的同义词。如下面所示,选项 --arg 等同于 -a。
📄️ Arity
Arity 定义了选项解析需要多少个参数。
📄️ 位置的
位置信息主要与命令目标方法相关:
📄️ 可选值
一个选项要么是必需的,要么不是,通常来说,它的行为取决于命令目标。
📄️ 默认值
为选项设置默认值与可选值有一定关系,因为在某些情况下,您可能希望知道用户是否定义了某个选项,并根据默认值改变行为:
📄️ 验证
Spring Shell 集成了 Bean Validation API,以支持对命令参数的自动和自我文档化约束。
📄️ 标签
选项标签在 shell 中没有其他功能行为,除了默认帮助命令输出的内容。在命令文档中,选项的类型会被记录,但这并不总是非常有用。因此,您可能希望为选项提供更好的描述性词汇。
📄️ 类型
本节讨论了特定数据类型如何作为选项值使用。
📄️ 命名
如果需要修改选项的长名称,可以使用 OptionNameModifier 接口,该接口是一个简单的 Function\<String, String>。在这个接口中,原始选项名称作为输入,修改后的名称作为输出。