Amazon 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 Utilities / 效用 不会发生。 在所有其他方面,如果 命令名称 不是一个名字
功能,效果 命令 (没有选项)应与省略相同 命令.

当。。。的时候 -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 内置
Utilities / 效用) 不适合调用其他实用程序。 例如,两个
命令,例如:

日期 > 不可写文件

命令日期 > 不可写文件

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

- -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




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