09 expr 命令

Posted 蓝风9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09 expr 命令相关的知识,希望对你有一定的参考价值。

前言

呵呵 这个命令 应该是 linux 使用者 基本上都会使用到的吧?

呵呵 我们这里主要是 看一下 这个命令是如何工作的

main 中主要是参数处理, 然后将核心业务委托给 eval

eval 主要是委托业务给 eval1 - eval7 来处理, 分别是 由优先级的从低到高

这就是一个 自己从 0 开始的 eval 的一个实现, 呵呵 很经典

我之前有一个自己的 EvalLike, 实现相对简单 02 计算字符串表达式 [类似于js eval函数]_970655147的专栏-CSDN博客_js 字符串表达式

基于 linux-4.4.0 + coreutils-8.25

调试基于命令 "expr 2 + 3"
 

main

参数处理, 然后将核心业务委托给 eval

eval 

首先是 | 的处理 

eval1 是 & 的处理 

eval2 是 <, >, <=, >=, ==, != 的处理 

eval3 是 +, - 的处理 

eval4 是 *, /, % 的处理 

eval5 是 : 的处理 

eval6 是 length, match, index, substr 的处理 

eval7 是 () 的处理 

我们这里的 2 + 3 的处理 

以上是关于09 expr 命令的主要内容,如果未能解决你的问题,请参考以下文章

linux expr命令参数及用法详解

Linux 科学计算

expr命令

(转)linux expr命令参数及用法详解

linux expr命令

linux expr命令