英语法语西班牙语

Ad


OnWorks 网站图标

getoptsposix - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 getoptsposix

这是 getoptsposix 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


getopts — 解析实用程序选项

概要


获取选项 选择字符串 姓名 [ARG...]

商品描述


获取选项 实用程序应从参数列表中检索选项和选项参数。
它应支持基础语法中描述的实用程序语法指南 3 到 10,包括端点
POSIX.1-2008 的定义卷, 部分 12.2, 公用事业 句法 指南.

每次调用时, 获取选项 实用程序应将下一个选项的值放在
由指定的 shell 变量 姓名 操作数和下一个参数的索引
在 shell 变量中处理 选择. 每当 shell 被调用时, 选择 应该
初始化为 1。

当该选项需要一个选项 - 参数时, 获取选项 实用程序应将其放在
外壳变量 OPTARG. 如果没有找到选项,或者如果找到的选项没有
有一个选项参数, OPTARG 将被取消设置。

如果选项字符未包含在 选择字符串 在选项中找到操作数
字符是预期的,由指定的 shell 变量 姓名 应设置为
标记> ('?) 特点。 在这种情况下,如果第一个字符 选择字符串 是一个
(':'),外壳变量 OPTARG 应设置为找到的选项字符,但没有输出
应写入标准错误; 否则,shell变量 OPTARG 将被取消设置
并且诊断消息应写入标准错误。 该条件应为
被认为是在向调用方提供参数的方式中检测到的错误
应用程序,但不应是错误 获取选项 处理。

如果缺少选项参数:

* 如果第一个字符 选择字符串 是一个, 由指定的 shell 变量 姓名
应设置为字符和shell变量 OPTARG 应设置为
找到的选项字符。

* 否则,指定的shell变量 姓名 应设置为
字符,shell 变量 OPTARG 应取消设置,并应为诊断消息
写入标准错误。 这种情况应被视为检测到错误
以向调用应用程序提交参数的方式,但不应是
错误中 获取选项 加工; 诊断消息应按规定写入,但
退出状态应为零。

当遇到选项结束时, 获取选项 实用程序应以返回值退出
大于零; 外壳变量 选择 应设置为第一个的索引
操作数或值 “ $#”+1 如果没有操作数; 这 姓名 变量应设置为
这特点。 以下任何一项都应确定选项的结束:
第一 “--” 不是选项参数的参数,找到一个不是选项的参数
option-argument 并且不以 a 开头 '-',或遇到错误。

外壳变量 选择OPTARG 应该是本地的调用者 获取选项 并应
默认不导出。

指定的 shell 变量 姓名 操作数, 选择OPTARG 将影响
当前的shell执行环境; 看 部分 2.12, 执行 环境.

如果应用程序设置 选择 对于值 1,可以使用一组新参数:
当前位置参数或新的 ARG 值。 任何其他尝试调用 获取选项
在带有参数的单个 shell 执行环境中多次(位置
参数或 ARG 操作数)在所有调用中都不同,或者具有 选择
value 修改为 1 以外的值,会产生未指定的结果。

配置


没有。

操作数


应支持以下操作数:

选择字符串 包含由实用程序调用识别的选项字符的字符串
获取选项. 如果一个字符后跟一个,该选项应该是预期的
有一个参数,它应该作为一个单独的参数提供。
应用程序应将选项字符及其选项参数指定为
单独的论点,但 获取选项 应解释以下字符
选项字符需要参数作为参数,无论是否完成。
一个显式的 null option-argument 如果没有作为
一个单独的论点,当 获取选项 被调用。 (另见 获取选择() 功能
在 POSIX.1-2008 的系统接口卷中定义。)字符
和不得用作选项字符
应用。 使用非字母数字的其他选项字符
产生未指定的结果。 如果选项参数不是作为
将参数与选项字符分开,中的值 OPTARG 应该
去除了选项字符和 '-'. 中的第一个字符 选择字符串
确定如何 获取选项 如果选项字符未知或选项-
缺少参数。

姓名 由 shell 变量设置的名称 获取选项 效用
找到的选项字符。

获取选项 实用程序默认应解析传递给调用的位置参数
壳程序。 如果 ARGs 给出,它们将被解析而不是位置
参数。

标准输入


不曾用过。

INPUT FILES


没有。

环境 变数


以下环境变量会影响执行 获取选项:

为未设置或未设置的国际化变量提供默认值
空值。 (参见 POSIX.1-2008 的基本定义卷, 部分 8.2,
国际化 变量 为国际化优先
用于确定语言环境类别值的变量。)

LC_ALL 如果设置为非空字符串值,则覆盖所有其他字符串的值
国际化变量。

LC_CTYPE 确定用于解释文本数据字节序列的语言环境
作为字符(例如,单字节而不是多字节字符
参数和输入文件)。

LC_消息
确定应该用于影响格式和内容的语言环境
写入标准错误的诊断消息。

路径 确定用于处理的消息目录的位置 LC_消息.

选择 该变量应由 获取选项 效用作为下一个索引
要处理的参数。

异步 新闻


默认。

标准输出


不曾用过。

斯特德


每当检测到错误并且出现第一个字符时 选择字符串 操作数不是
(':'),应将诊断消息写入标准错误,如下所示
未指定格式的信息:

* 调用程序名称应在消息中标识。 调用程序
name 应为 shell 特殊参数 0 的值(请参阅 部分 2.5.2, Special
参数) 当时 获取选项 实用程序被调用。 相当于:

基本名 “ $ 0”

可能用过了。

* 如果发现一个选项没有被指定 选择字符串,这个错误被识别
无效的选项字符应在消息中标识。

* 如果找到需要选项参数的选项,但没有找到选项参数
发现,这个错误应该被识别并且无效的选项字符应该是
消息中标识。

OUTPUT FILES


没有。

EXTENDED 商品描述


没有。

退出 状态


应返回以下退出值:

0 一个选项,由指定或未指定 选择字符串, 被找到。

>0 遇到选项结束或发生错误。

后果 OF 错误


默认。

以下 部分 ,那恭喜你, 内容丰富。

申请须知 用法


获取选项 影响当前shell执行环境,一般提供为
一个 shell 常规内置。 如果在子shell中调用或单独的实用程序执行
环境,例如以下之一:

(getopts ABC 折扣值 "$@")
诺哈普 获取选项 ...
发现 . -执行 获取选项 ... \;

它不会影响调用者环境中的 shell 变量。

请注意,shell 函数共享 选择 与调用外壳,即使位置
参数改变。 如果调用 shell 及其任何函数使用 获取选项
解析参数,结果未指定。

示例


以下示例脚本解析并显示其参数:

标志=
标志=
获取选项 来自: 姓名
do
案件 $名称 in
a) 标志=1;;
b) 标志=1
bval="$OPTARG";;
?) 的printf “用法: %s: [-a] [-b 价值] 参数\n" $0
出口 2 ;;
ESAC
完成
if [ ! -z “$aflag” ]; 然后
的printf “选项 -a 指定\n"
fi
if [ ! -z “$bflag” ]; 然后
的printf '选项 -b “%s” 指定\n' “$bval”
fi
转移 $(($选择 - 1))
的printf “其余的 参数 是: %s\n$*"

基本原理


获取选项 实用程序优先于 System V 获取选择 效用,因为
获取选项 处理包含的选项参数人物。

OPTARG 环境变量部分中没有提到变量,因为它确实
不影响执行 获取选项; 它是少数使用的“仅输出”变量之一
通过标准实用程序。

这不允许作为选项字符,因为这不是历史行为,
它违反了实用程序语法指南。 这现在被指定为
在 KornShell 版本中 获取选项 公用事业; 当用作第一个字符时
选择字符串 操作数,它禁用有关缺少选项参数的诊断和
意外的选项字符。 这取代了使用 奥普特 变量是
在早期提案中指定。

生成的诊断消息的格式 获取选项 效用和 获取选择()
功能未完全指定,因为实现具有高级(“更友好”)
格式反对某些历史实现使用的格式。 标准
开发人员认为使用的消息中的信息统一很重要
之间 获取选项获取选择(). 可能无法完全复制消息,
特别是如果一个实用程序是建立在另一个具有不同 获取选择()
功能,但消息必须包含特定信息,以便程序
用户可以区分名称、无效选项字符和错误类型。

只有罕见的应用程序拦截了 获取选项 标准错误消息并希望
解析它。 因此,实现可以自由选择最有用的消息
设计。 许多历史实现使用以下格式:

"%s: 非法 选项 -- %c\n", <程序 姓名>, <选项 字符>

"%s: 选项需要一个参数 -- %c\n",程序 姓名>、\
<选项 字符>

具有内置版本的历史外壳 获取选择() 要么 获取选项 用过不同的
格式,通常甚至不指示在错误中发现的选项字符。

未来 如何前往


没有。

使用 onworks.net 服务在线使用 getoptsposix


免费服务器和工作站

下载 Windows 和 Linux 应用程序

  • 1
    Eclipse Tomcat 插件
    Eclipse Tomcat 插件
    Eclipse Tomcat 插件提供
    一个tomcat servlet的简单集成
    java开发的容器
    网络应用程序。 你可以加入我们
    讨论...
    下载 Eclipse Tomcat 插件
  • 2
    WebTorrent桌面
    WebTorrent桌面
    WebTorrent 桌面用于流式传输
    在 Mac、Windows 或 Linux 上下载种子。 它
    连接到 BitTorrent 和
    WebTorrent 同行。 现在没有了
    需要等待...
    下载 WebTorrent 桌面版
  • 3
    GEnx发动机
    GEnx发动机
    GenX 是一个科学的程序来改进
    X 射线反射率,中子
    反射率和表面 X 射线
    使用差分的衍射数据
    进化算法……
    下载 GenX
  • 4
    pspp4窗口
    pspp4窗口
    PSPP 是一个统计程序
    采样数据的分析。 这是一个免费的
    专有程序的替代品
    统计软件。 PSPP 同时具有基于文本和
    图形我们...
    下载 pspp4windows
  • 5
    Git 扩展
    Git 扩展
    Git Extensions 是一个独立的 UI 工具
    用于管理 Git 存储库。 它也是
    与 Windows 资源管理器和
    Microsoft Visual Studio
    (2015/2017/2019)。 这...
    下载 Git 扩展
  • 6
    eSpeak:语音合成
    eSpeak:语音合成
    英语文本到语音引擎和
    许多其他语言。 紧凑的尺寸与
    清晰但做作的发音。
    可作为命令行程序使用
    许多 ...
    下载 eSpeak:语音合成
  • 更多 ”

Linux 命令

Ad