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