这是 getopt 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
getopt - 解析命令选项(增强)
概要
获取选择 选择字符串 参数
获取选择 [选项] [--] 选择字符串 参数
获取选择 [选项] -o|- 选项 选择字符串 [选项] [--] 参数
商品描述
获取选择 用于分手(解析) 命令行中的选项,便于 shell 解析
程序,并检查合法选项。 它使用 GNU 获取选择(3) 套路要做
本。
参数 获取选择 被称为with可以分为两部分:修改的选项
方式 获取选择 将进行解析( 选项 和 选择字符串 ,在 概要),
要解析的参数(参数 ,在 概要)。 第二部分将
从不是选项参数的第一个非选项参数开始,或在第一个之后
'的出现--'。 如果不 '-o' 要么 '- 选项' 选项位于第一部分,
第二部分的第一个参数用作短选项字符串。
如果环境变量 getopt_compatible 已设置,或者如果第一个 参数 不是
选项(不以 ' 开头-',第一个格式 概要), 获取选择 会产生
与其他版本的输出兼容 获取选择(1). 它仍然会做
参数改组并识别可选参数(请参阅部分 兼容性 更多
信息)。
的传统实现 获取选择(1) 无法应付空格和其他
(特定于 shell 的)参数和非选项参数中的特殊字符。 为了解决这个
问题,这个实现可以生成引用的输出,必须再次
由 shell 解释(通常使用 评估 命令)。 这具有以下效果
保留这些字符,但你必须调用 获取选择 以一种不再
与其他版本兼容(第二个或第三个格式 概要)。 确定
无论是这个增强版 获取选择(1) 安装后,一个特殊的测试选项(-T) 可
用过的。
配置
-a, - 选择
允许长选项以单个 ' 开头-'.
-h, - 帮帮我
显示帮助文本并退出。 不生成其他输出。
-l, --长选项 长选项
要识别的长(多字符)选项。 可能有多个选项名称
通过用逗号分隔名称来一次指定。 这个选项可能是
给予不止一次, 长选项 是累积的。 中的每个长选项名称
长选项 后面可以跟一个冒号,表示它有一个必需的参数,和
用两个冒号表示它有一个可选参数。
-n, - 姓名 程序名
将使用的名称 获取选择(3) 报告错误时的例程。 笔记
那些错误 获取选择(1) 仍然报告为来自 getopt。
-o, - 选项 短选项
要识别的短(一个字符)选项。 如果没有找到这个选项,
第一个参数 获取选择 不以 ' 开头的-'(并且不是一个选项
参数)用作短选项字符串。 中的每个短选项字符
短选项 后面可以跟一个冒号,表示它有一个必需的参数,和
用两个冒号表示它有一个可选参数。 的第一个字符
shortopts 可能是 '+' 要么 '-' 影响解析选项和输出的方式
生成(见部分 扫描 模式 了解详细信息)。
-q, - 安静的
禁用错误报告 获取选择(3)。
-Q, --安静的输出
不生成正常输出。 错误仍然由 获取选择(3),除非你
也用 -q.
-s, - 贝壳 壳
将引用约定设置为 壳。 如果 -s 没有给出选项,BASH
使用约定。 有效参数当前为 'sh''打坏','长山壕'和
'tcsh的'.
-T, - 测试
测试你的 获取选择(1) 这是增强版还是旧版。 这会产生
没有输出,并将错误状态设置为 4。其他实现 获取选择(1),
这个版本如果环境变量 getopt_compatible 已设置,将返回 '--'
和错误状态 0。
-u, --未引用
不要引用输出。 请注意空格和特殊(依赖于外壳)
在这种模式下,角色可能会造成严重破坏(就像他们对其他 获取选择(1)
实现)。
-V, - 版
显示版本信息并退出。 不生成其他输出。
解析
本节规定了第二部分参数的格式 获取选择 (
参数 ,在 概要)。 下一节(OUTPUT) 描述的输出是
生成。 这些参数通常是调用 shell 函数的参数
和。 必须注意调用 shell 函数的每个参数
正好对应于参数列表中的一个参数 获取选择 (见 示例).
所有解析都由 GNU 完成 获取选择(三)例行公事。
参数从左到右解析。 每个参数被归类为一个简短的
选项、长选项、选项的参数或非选项参数。
一个简单的简短选项是一个 '-' 后跟一个短选项字符。 如果该选项具有
必需的参数,它可以直接写在选项字符之后或作为下一个
参数(即在命令行上用空格分隔)。 如果该选项具有
可选参数,如果存在,它必须直接写在选项字符之后。
可以在一个 ' 后指定几个短选项-',只要所有(除了
可能是最后一个)没有必需或可选的参数。
长选项通常以 '--' 后跟长选项名称。 如果选项
有一个必填的参数,可以直接写在长选项名之后,分隔开
经过 '=',或作为下一个参数(即在命令行上用空格分隔)。 如果
该选项有一个可选参数,它必须直接写在长选项之后
名称,以 ' 分隔=', 如果存在(如果您添加了 '='但它背后没有任何东西,它是
解释为好像没有参数存在; 这是一个小错误,请参阅 BUGS)。 长
选项可以缩写,只要缩写没有歧义。
每个不以 ' 开头的参数-',而不是前一个选项的必需参数,
是一个非选项参数。 ' 后的每个参数--' 参数总是被解释为
一个非选项参数。 如果环境变量 POSIXLY_CORRECT 已设置,或者如果
以 ' 开头的短选项字符串+',所有剩余的参数都被解释为
找到第一个非选项参数后立即使用非选项参数。
OUTPUT
为上一节中描述的每个元素生成输出。 输出是在
与输入中指定元素的顺序相同,但非选项除外
参数。 输出可以在 兼容 (未引用) 模式,或以这样的方式
参数和非选项参数中的空格和其他特殊字符是
保存(见 引用)。 当在 shell 脚本中处理输出时,它会看起来
由可以一一处理的不同元素组成(通过使用移位
大多数 shell 语言中的命令)。 这在未引用模式下是不完美的,因为元素可以
如果它们包含空格或特殊字符,则在意想不到的地方拆分。
如果解析参数时出现问题,例如因为必需的参数是
not found 或者一个选项没有被识别,stderr 会报错,会出现
对于违规元素没有输出,并返回非零错误状态。
对于简短的选项,单个 '-' 和选项字符作为一个参数生成。
如果选项有参数,则下一个参数将是该参数。 如果选项
接受一个可选参数,但没有找到,将生成下一个参数,但
引用模式下为空,但不引用时不会生成第二个参数
(兼容)模式。 请注意,许多其他 获取选择(1) 实现不支持可选
参数。
如果在单个 ' 之后指定了几个短选项-',每个都将出现在
输出作为单独的参数。
对于长选项,'--' 和完整的选项名称作为一个参数生成。 这是
无论选项是缩写还是用单个 ' 指定,都已完成-' 在里面
输入。 参数的处理与短选项一样。
通常,在所有选项及其对应的选项之前,不会生成非选项参数输出
参数已经产生。 然后 '--' 作为单个参数生成,在它之后
非选项参数按照它们被找到的顺序,每个作为一个单独的参数。
仅当短选项字符串的第一个字符是 '-', 非选项参数
输出在它们在输入中找到的位置生成(如果
的第一种格式 概要 用来; 在这种情况下,所有前面出现的 '-'和
'+' 被忽略)。
引用
在兼容模式下,参数或非选项中的空格或“特殊”字符
参数处理不正确。 当输出被馈送到 shell 脚本时,
脚本不知道应该如何将输出分解为单独的参数。 到
绕过这个问题,这个实现提供了引用。 这个想法是输出是
在每个参数周围用引号生成。 当这个输出再次被馈送到
壳(通常由壳 评估 命令),它被正确拆分为单独的参数。
如果环境变量不启用引用 getopt_compatible 已设置,如果第一个
的形式 概要 被使用,或者如果选项 '-u' 被发现。
不同的 shell 使用不同的引用约定。 您可以使用 '-s' 选项选择
您正在使用的外壳。 当前支持以下 shell:'sh','打坏',
'长山壕'和'tcsh的'。 实际上,只有两种“味道”是有区别的:类似 sh 的引用
约定和类似 csh 的引用约定。 很有可能,如果你使用另一个 shell
脚本语言,仍然可以使用其中一种风格。
扫描 模式
短选项字符串的第一个字符可能是一个 '-' 或 '+' 表示一个
特殊扫描模式。 如果第一个调用表单 概要 使用它们是
忽略; 环境变量 POSIXLY_CORRECT 不过,仍在审查中。
如果第一个字符是 '+',或者如果环境变量 POSIXLY_CORRECT 设置,
解析在第一个非选项参数(即不
以 ' 开头-') 被发现不是一个选项参数。 其余参数为
都被解释为非选项参数。
如果第一个字符是 '-',非选项参数输出的地方
他们被发现了; 在正常操作中,它们都在输出结束后收集
'--' 参数已生成。 请注意,这 '--' 参数仍然生成,但
在此模式下,它将始终是最后一个参数。
兼容性
这个版本的 获取选择(1) 编写为尽可能与其他版本兼容。
通常你可以不用任何修改就用这个版本替换它们,并且
一些优势。
如果 getopt 的第一个参数的第一个字符不是 '-', 获取选择 进入
兼容模式。 它将其第一个参数解释为短选项字符串,
并且所有其他参数都将被解析。 它仍然会进行参数改组(即所有
非选项参数最后输出),除非环境变量
POSIXLY_CORRECT 置。
环境变量 getopt_compatible 军队 获取选择 进入兼容模式。 环境
这个环境变量和 POSIXLY_CORRECT 提供 100% 的兼容性
“困难”的节目。 但通常,两者都不需要。
在兼容模式下,前导 '-'和'+' 短选项字符串中的字符是
忽略了。
返回 编码
获取选择 返回错误代码 0 为了成功解析, 1 if 获取选择(3) 返回错误, 2 如果它
不了解自己的参数, 3 如果发生内存不足等内部错误,
和 4 如果它被调用 -T.
示例
(ba)sh 和 (t)csh 的示例脚本随 获取选择(1) 分发,以及
可选择安装在 /usr/共享/getopt/ or /usr/共享/文档/ 在 util-linux 中
子目录。
环境
POSIXLY_CORRECT
该环境变量由 获取选择(三)例行公事。 如果设置了,
一旦发现不是选项或选项的参数,解析就会停止
争论。 所有剩余的参数也被解释为非选项参数,
无论它们是否以 ' 开头-'.
getopt_compatible
部队 获取选择 使用指定的第一个调用格式 概要.
使用 onworks.net 服务在线使用 getopt