英语法语西班牙语

Ad


OnWorks 网站图标

exprposix - 云端在线

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

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

程序:

您的姓名


expr — 将参数计算为表达式

概要


表达式 操作数...

商品描述


表达式 实用程序应评估表达式并将结果写入标准输出。

配置


没有。

操作数


由计算的单个表达式 表达式 应由 操作数 操作数,如
在扩展描述部分中进行了描述。 申请应确保每个
表达式运算符符号:

( ) | & = > >= < <= != + - * / % :

和符号 整数绳子 在表中作为单独的参数提供
表达式.

标准输入


不曾用过。

INPUT FILES


没有。

环境 变数


以下环境变量会影响执行 表达式:

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

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

LC_COLLATE
确定范围、等价类和多变量行为的语言环境
正则表达式和字符串中的字符整理元素
比较运算符。

LC_CTYPE 确定用于解释文本数据字节序列的语言环境
作为字符(例如,单字节而不是多字节字符
参数)和正则表达式中字符类的行为。

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

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

异步 新闻


默认。

标准输出


表达式 实用程序应评估表达式并写入结果,然后是
, 到标准输出。

斯特德


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

OUTPUT FILES


没有。

EXTENDED 商品描述


要计算的表达式的构成如下表所示。 这
符号 表达式, 表达式1表达式2 表示由 整数绳子
符号和表达式运算符符号(所有单独的参数)通过递归
表中描述的结构的应用。 表达式按顺序列出
增加优先级,等优先级运算符分组在水平
线。 所有的操作符都应该是左关联的。

┌──────────────────┬────────────────────────────────── ────────────┐
口语产品描述
├────────────────┼────────────────────────────────── ────────────┤
表达式1 | 表达式2 │ 返回对 表达式1 如果是│
│ │ 既非空也非零; 否则,│
│ │ 返回对 表达式2 如果是│
│ │ 不为空; 否则,为零。 │
├────────────────┼────────────────────────────────── ────────────┤
表达式1 & 表达式2 │ 返回对 表达式1 如果│
│ │ 表达式的计算结果都不是 null 或 │
│ │ 零; 否则,返回零。 │
├────────────────┼────────────────────────────────── ────────────┤
│ │ 返回一个十进制整数的结果│
│ │ 比较如果两个参数都是 │
│ │ 整数; 否则,返回结果│
│ │ 使用语言环境的字符串比较- │
│ │ 具体的整理顺序。 结果│
│ │ 每次比较为 1 如果指定 │
│ │ 关系为真,如果 │ 为 0
│ │ 关系是假的。 │
表达式1 = 表达式2 │ 相等。 │
表达式1 > 表达式2 │ 大于。 │
表达式1 >= 表达式2 │ 大于或等于。 │
表达式1 < 表达式2 │ 小于。 │
表达式1 <= 表达式2 │ 小于或等于。 │
表达式1 != 表达式2 │ 不等。 │
├────────────────┼────────────────────────────────── ────────────┤
表达式1 + 表达式2 │ 十进制整数值的加法 │
│ │ 论据。 │
表达式1 - 表达式2 │ 十进制整数值的减法 │
│ │ 论据。 │
├────────────────┼────────────────────────────────── ────────────┤
表达式1 * 表达式2 │ 十进制整数值的乘法 │
│ │ 论据。 │
表达式1 / 表达式2 │ 十进制整数的整数除法- │
│ │ 值参数,产生一个整数 │
│ │ 结果。 │
表达式1 % 表达式2 │ 十进制整数除法的余数 │
│ │ 整数值参数。 │
├────────────────┼────────────────────────────────── ────────────┤
表达式1 : 表达式2 │ 匹配表达式; 见下文。 │
├────────────────┼────────────────────────────────── ────────────┤
│( 表达式 ) │ 分组符号。 任何表达式都可以 │
│ │ 放在括号内。 括号│
│ │ 可以嵌套到 │ 的深度
│ │ {EXPR_NEST_MAX}。 │
├────────────────┼────────────────────────────────── ────────────┤
整数 │ 一个仅由一个 │
│ │(可选)一元减后跟│
│ │ 数字。 │
绳子 │ 一个字符串参数; 见下文。 │
└──────────────────┴────────────────────────────────── ────────────┘
匹配 口语
':' 匹配运算符应比较从评估结果产生的字符串 表达式1
正则表达式模式来自于评估 表达式2。 定期
表达式语法应在 POSIX.1-2008 的 Base Definitions 卷中定义,
部分 9.3, 基础 原价 表达式,除了所有模式都锚定到
字符串的开头(即,仅从字符串的第一个字符开始的序列
字符串由正则表达式匹配),因此未指定是否
'^' 在该上下文中是一个特殊字符。 通常,匹配运算符应返回一个
表示匹配字符数的字符串 ('0' 失败时)。 或者,如果
该模式至少包含一个正则表达式子表达式 “[\(...\)]”,字符串
由反向引用表达式匹配 “\1” 将被退回。 如果反向引用
表达 “\1” 不匹配,则返回空字符串。

操作数
字符串参数是无法识别为 整数 论证或作为
OPERANDS 部分中显示的表达式运算符符号之一。

字符串参数的使用 长度, 子字符串, 指数匹配 产生未指定的结果。

退出 状态


应返回以下退出值:

该0 表达 计算结果既不是 null 也不是零。

该1 表达 计算结果为 null 或零。

2 无效 表达.

>2 发生错误。

后果 OF 错误


默认。

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

申请须知 用法


经过 shell 的参数处理后, 表达式 不需要能够告诉
运算符和操作数之间的区别,除了值。 如果 “$a” is '='是,
命令:

表达式 $a = '='

好像:

表达式 = = =

当参数传递给 表达式 (它们都可以被视为 '=' 操作员)。 这
以下工作可靠:

表达式 X$a = X=

另请注意,本卷 POSIX.1-2008 允许实现扩展实用程序。
表达式 实用程序允许整数参数前面带有一元减号。 这个
意味着整数参数可能看起来像一个选项。 因此,符合
应用程序必须使用 “--” 基本定义卷的指南 10 的构建
POSIX.1-2008, 部分 12.2, 公用事业 句法 指南 保护它的操作数,如果有
第一个操作数是否有可能是负整数(或任何带有前导的字符串)
减)。

示例


表达式 实用程序有一个相当困难的语法:

* 许多操作符也是外壳控制操作符或保留字,所以它们有
要在命令行上转义。

* 表达式的每一部分都由单独的参数组成,因此可以自由使用
字符是必需的。 例如:

┌────────────────────┬───────────────────────┐
无效有效
├──────────────────┼────────────────────────┤
表达式 1+2 │ 表达式 1 + 2 │
表达式 “1+2”│ 表达式 1 + 2 │
表达式 1 + (2 * 3) │ 表达式 1 + \( 2 \* 3 \) │
└───────────────────┴───────────────────────┘
在许多情况下,算术和字符串功能作为 shell 命令的一部分提供
语言比它们的等价物更容易使用 表达式. 新编写的脚本应该
避免 表达式 支持外壳中的新功能; 看 部分 2.5, 参数
变量部分 2.6.4, 算术 扩展.

以下命令:

a=$(表达式 $a + 1)

给变量加 1 a.

以下命令,对于 “$a” 等于任一 /usr/abc/文件 或者只是 文件:

表达式 $a : '.*/\(.*\)' \| $a

返回路径名的最后一段(即 文件)。 应用程序应避免
字符 '/' 单独用作论据; 表达式 可以将其解释为除法运算符。

以下命令:

表达式 "//$a" : '.*/\(.*\)'

是上一个示例的更好表示。 的添加 “//” 字符
消除了除法运算符的任何歧义并简化了整个表达式。
另请注意,路径名可能包含包含在 IFS的 变量和应该
被引用以避免 “$a” 扩展为多个参数。

以下命令:

表达式 “$VAR” : '.*'

返回中的字符数 VAR.

基本原理


在早期的提案中,ERE 用于匹配表达式语法。 这个改了
到 BRE 以避免破坏历史应用程序。

使用领先的在 BRE 中是未指定的,因为许多历史
尽管他们的系统,实现已将其视为特殊字符
文档。 例如:

表达式 FOO : ^富 表达式 ^富 : ^富

在这些系统上分别返回 3 和 0; 他们的文件将暗示
逆转。 因此,锚定条件未指定以避免破坏历史
脚本依赖于这个未记录的功能。

未来 如何前往


没有。

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


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad