GoGPT Best VPN GoSearch

OnWorks 网站图标

commandposix - 云端在线

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

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

程序:

您的姓名


command — 执行一个简单的命令

概要


命令 [-p] 命令名称 [论点...]

命令 [-p][-v|-V] 命令名称

商品描述


这个 命令 实用程序将使 shell 将参数视为一个简单的命令,
抑制中描述的 shell 函数查找 部分 2.9.1.1, 命令 搜索
执行,第 1b 项。

如果 命令名称 与特殊内置实用程序之一的名称相同,
枚举列表开头的特殊属性 部分 2.14, Special 内置
In 实用工具 不会发生。 在所有其他方面,如果 命令名称 不是一个名字
功能,效果 命令 (没有选项)应与省略相同 命令.

当。。。的时候 -v or -V 选项被使用, 命令 公用事业公司应提供有关信息
shell 如何解释命令名称。

配置


这个 命令 实用程序应符合 POSIX.1-2008 的基本定义卷, 部分
12.2, 公用事业 句法 指南.

应支持以下选项:

-p 使用默认值执行命令搜索 PATH 这保证
找到所有标准实用程序。

-v 将一个字符串写入标准输出,指示路径名或命令
将由 shell 在当前 shell 执行环境中使用(请参阅
部分 2.12, 外壳 执行 环境), 调用 命令名称, 但不要
调用 命令名称.

*实用程序,常规内置实用程序, 命令名称s 包括一个
字符,以及使用
PATH 变量(如 部分 2.9.1.1, 命令 搜索
执行),应写为绝对路径名。

* Shell 函数、特殊内置实用程序、常规内置实用程序不
与...相关联 PATH search,shell 保留字应写为
只是他们的名字。

* 别名应写为代表其别名的命令行
定义。

* 否则,不应写入任何输出,退出状态应反映
未找到该名称。

-V 将一个字符串写入标准输出,指示在
命令名称 操作数将由外壳解释,在当前外壳中
执行环境(见 部分 2.12, 外壳 执行 环境),但做
不调用 命令名称. 尽管此字符串的格式未指定,但它
应指明属于以下哪一类 命令名称 跌倒并将
包括以下信息:

* 实用程序、常规内置实用程序和任何实现定义
使用找到的函数 PATH 变量(如 部分
2.9.1.1, 命令 搜索 执行),应被标识为
在字符串中包含绝对路径名。

* 其他外壳函数应标识为函数。

* 别名应被识别为别名,其定义包含在
字符串。

* 特殊内置实用程序应标识为特殊内置
公用事业。

* 与 a 无关的常规内置实用程序 PATH 搜索应为
标识为常规内置实用程序。 (“常规”一词不必是
用过的。)

* 外壳保留字应标识为保留字。

操作数


应支持以下操作数:

论点 被视为参数的字符串之一 命令名称.

命令名称
实用程序或特殊内置实用程序的名称。

标准输入


不曾用过。

INPUT FILES


无。

环境 变数


以下环境变量会影响执行 命令:

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

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

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

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

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

PATH 确定在命令搜索期间使用的搜索路径 部分
2.9.1.1, 命令 搜索 执行,除非在 -p 选项。

异步 精彩活动


默认。

标准输出


当。。。的时候 -v 选项被指定,标准输出应格式化为:

"%s\n", <路径名 or 命令>

当。。。的时候 -V 选项被指定,标准输出应格式化为:

"%s\n", <不明>

斯特德


标准错误应仅用于诊断消息。

OUTPUT FILES


无。

EXTENDED 商品描述


无。

退出 状态


当。。。的时候 -v or -V 指定选项,应返回以下退出值:

0 成功完成。

>0 的 命令名称 无法找到或发生错误。

否则,将返回以下退出值:

126 指定的实用程序 命令名称 已找到但无法调用。

127 发生错误 命令 实用程序或指定的实用程序 命令名称
找不到。

否则,退出状态为 命令 应为指定的简单命令的命令
参数 命令.

后果 OF 错误


默认。

这个 以下 部分 旨在 内容丰富。

申请须知 用法


命令搜索的顺序允许函数覆盖常规的内置函数和路径
搜索。 此实用程序对于允许具有相同名称的函数是必需的
实用程序调用实用程序(而不是递归调用函数)。

系统默认路径可使用 获取配置文件; 然而,由于 获取配置文件 可能需要
PATH 在可以调用自身之前进行设置,可以使用以下内容:

命令 -p 获取配置文件 PATH

抑制特殊内置函数的特殊特性有一些好处
不定期的。 例如:

命令 EXEC > 不可写文件

不会导致非交互式脚本中止,以便可以检查输出状态
通过脚本。

这个 命令, ENV, 诺哈普, 参数 已指定实用程序使用退出代码
127 如果发生错误,应用程序可以区分“未能找到实用程序”
来自“调用的实用程序退出并出现错误指示”。 选择值 127 是因为
它不常用于其他含义; 大多数实用程序使用小值来表示“正常”
错误条件''和高于 128 的值可能与终止混淆,因为
接收信号。 以类似的方式选择值 126 以表明
可以找到实用程序,但不能调用。 一些脚本会产生有意义的错误消息
区分 126 和 127 种情况。 退出代码 126 和 127 之间的区别是
基于 KornShell 实践,当所有尝试都使用 127 EXEC 该实用程序失败
[恩恩], 并在任何尝试时使用 126 EXEC 该实用程序因任何其他原因而失败。

由于 -v-V 选项 命令 产生与当前 shell 相关的输出
执行环境, 命令 通常作为 shell 常规内置提供。 如果是
在子 shell 或单独的实用程序执行环境中调用,例如
在以下:

(路径=foo 命令 -v)
诺哈普 命令 -v

它不一定会产生正确的结果。 例如,当用 诺哈普
EXEC 函数,在单独的实用程序执行环境中,大多数实现不是
能够识别别名、函数或特殊的内置函数。

系统上可能会遇到两种类型的常规内置插件,这些是描述
分别由 命令. 命令搜索的说明 部分 2.9.1.1, 命令
搜索 执行 允许将标准实用程序实现为常规内置
只要在适当的地方找到它 PATH 搜索。 所以,例如, 命令
-v true 可能会屈服 /bin/真 或一些类似的路径名。 其他实现定义
本 POSIX.1-2008 卷未定义的实用程序可能仅作为内置
ins 并且没有与之关联的路径名。 这些产生的输出标识为
(常规)内置插件。 遇到这些的应用程序不能指望 EXEC博士开发的技术萃取的
他们,使用它们 诺哈普,用不同的覆盖它们 PATH,等等。

示例


1.制作一个版本 cd 总是只打印一次新的工作目录:

光盘() {
命令 cd “$@” > / dev /空
PWD
}

2. 启动“安全 shell 脚本”,其中脚本避免被其欺骗
家长:

IFS=”
'
# 这个 折扣值 应该 be .
# 选择 IFS的 它的 默认 计算值。

\unalias -a
# 取消设置所有可能的别名。
# 注意 unalias 被转义以防止出现别名
# 用于反别名。

取消设置 -f 命令
# 确保命令不是用户函数。

PATH="$(command -p getconf PATH):$PATH"
# 加上一个可靠的 PATH 前缀。

#...

此时,对调用的目录赋予正确的权限 PATH, 剧本
有能力确保它调用的任何实用程序都是预期的。 它正在
非常谨慎,因为它假设可能存在实现扩展
将允许用户函数在调用时存在; 这种能力不是
本卷 POSIX.1-2008 指定,但不禁止作为扩展。
例如 ENV 变量在用户启动脚本调用之前 -
上脚本。 这样的脚本可以定义函数来欺骗应用程序。

基本原理


建立 命令 是一个常规的内置实用程序,它总是在 PATH 搜索。

描述中没有任何内容 命令 这意味着命令行被解析为任何
不同于任何其他简单命令。 例如:

命令 a | b ; c

没有以任何特殊方式解析导致 '|' or ';' 除管道外的其他处理方式
操作员或或者阻止函数查找 b or c.

这个 命令 实用程序有点类似于第八版外壳 内建的 命令,但是
命令 也去文件系统搜索实用程序,名称 内建的
不直观。

这个 命令 实用程序最有可能作为常规内置程序提供。 它没有列出
由于以下原因作为特殊内置:

* 可导出函数的移除使得特殊的内置函数具有特殊的优先级
不必要。

* 一个特殊的内置函数具有特殊的属性(见 部分 2.14, Special 内置
实用工具) 不适合调用其他实用程序。 例如,两个
命令,例如:

日期 > 不可写文件

命令日期 > 不可写文件

会有完全不同的结果; 在非交互式脚本中,前者会
继续执行下一个命令,后者将中止。 介绍这个
语义差异以及抑制功能被认为是不直观的。

这个 -p 选项存在是因为能够确保安全路径搜索是有用的
查找所有标准实用程序。 此搜索可能与
通过其中之一发生 EXEC 函数(在系统接口卷中定义)
POSIX.1-2008) 当 PATH 未设置。 至少,需要此功能以允许
访问正确版本的脚本 获取配置文件 这样默认路径的值就可以
被准确检索。

这个 命令 -v-V 添加了选项以满足用户的要求
目前由三个不同的历史公用事业完成: 类型 在系统 V
贝壳, 何处 在 KornShell 中,以及 在 C 壳中。 由于没有历史
关于如何以及在这里完成什么的协议,POSIX 命令 实用性得到了增强和
历史实用程序保持不变。 C壳 只是引导路径
搜索。 KornShell 何处 更精细——除了需要的类别
POSIX,它还报告跟踪的别名、导出的别名和未定义的函数。

输出格式为 -V 大部分未指定,因为人类用户是唯一的
观众。 不应编写应用程序来关心这些信息; 他们可以使用
的输出 -v 区分各种类型的命令,但额外的
可能由更冗长的人发出的信息 -V 不需要也不应该
出于应用程序解析的原因,在其详细程度或本地化方面任意限制。

未来 如何前往


无。

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


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。