`
fujinbing
  • 浏览: 234159 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

expr 简单使用

阅读更多

1.expr命令一般用于整数值,其一般格式为:

expr argument operator argument

一般的用法是使用expr做算术运算,如:

[root@centos ~]# expr 10 + 20

30

$expr 30 / 3 / 2

5

(注意运算符左右都有空格 ,如果没有空格表示是字符串连接)

使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。如:

[root@centos ~]# expr 10 * 10 //:错误,

expr: syntax error

[root@centos ~]# expr 10 \* 10 //正确

100

 

2.利用expr,把输出导入/dev/null,可以作判断。

如果表达式成功,可以如下表示

$value=12

$expr $value + 10 > /dev/null 2>&1
$echo $?

0

如果表达式失败,返回非0值

$value=hello

$expr $value + 10 > /dev/null 2>&1

$echo $?

2

3.expr也操作用于字符串

字符串比较:

expr 如果成功,返回值1,任何其他值为无效或错误。如下面的例子测试两个字符串是否相等,这里字符串为“hello”和hello”。

$value=hello

$expr $value = "hello"

1

#这时候shell的返回值为0。

$echo $?

0

4.expr的模式匹配:

关于expr模式匹配,可以使用expr通过指定冒号:选项指定要进行字符串模式匹配。 .*代表任

何字符重复0次或多次。返回值为括号中的内容.

如在tomcat的catalina.sh,使用了expr的模式匹配来获取连接文件的真实路径,例子如下:

# resolve links - $0 may be a softlink

PRG="$0"

while [ -h "$PRG" ]; do

 ls=`ls -ld "$PRG"`

 link=`expr "$ls" : '.*-> \(.*\)$'`  

#这里expr的返回值为连接文件的真实路径

 if expr "$link" : '/.*' > /dev/null; then#路径名返回1

PRG="$link"

 else

 PRG=`dirname "$PRG"`/"$link"

 fi

done

 

分享到:
评论

相关推荐

    js_expr:用于简单 JavaScript 表达式的解析器

    js_expr 基于简单 JavaScript 表达式。构建解析器npm install gulp build dist/js_expr.js是输出使用解析器解析器以 nodejs 的module方式构建。 它导出返回function parse(expr) 。 AST 可以渲染回 JS 代码,查看 。

    java源码小程序-expr:评估Java中的数学表达式

    功能和灵活性不是优先考虑的事项,但代码足够简单,根据您的喜好进行更改应该不难。 源文件中的 Javadoc 注释提供了完整的文档,并提供了用户的视角。 安装它 要安装,请将expr.jar放在您的类路径中。 (如果你是从 ...

    expr.js:解析用户定义的表达式

    expr.js是使用生成的解析器,经过修改后可以接受json作为参数,并可以安全地评估简单的算术和逻辑表达式。 如何使用 在您的页面上包含expr.js < script src =" expr.js " > </ script > 然后,您...

    expr:表达式计算器示例

    一个用于整数数学的简单表达式计算器。 您给它一个表达式: $ expr '1 + 2' (+ 1 2) 3 它将计算结果,并另外将您的表达式返回为s表达式。 为什么? 演示gradle,测试,词法分析和递归下降解析。 安装 您的系统上...

    mysql if语句的使用,10多年工作总结

    CASE 语句可以实现非常复杂的逻辑判断,但是如果只是实现简单的逻辑判断,使用 CASE 语句就过于繁琐。 四、IF 语句的使用 IF 语句是 MySQL 提供的一种简化逻辑判断的方法。它的语法格式为:`IF(expr1, expr2, expr...

    expr_Gibbs_sampling.py

    Gibbs Sampling代码,python实现,代码仅有对一元线性回归的简单情况,配合博文【ML】线性回归的吉布斯采样(Gibbs Sampling)实现(python)使用

    expr2_fifo_ctrl.rar_先进先出_进程调度

    简单的进程调度程序,包含先进先出和优先级调度程序,自己可以加入一些初始化设定,可以更好的模拟系统运行

    使用matlab做的简单网络爬虫-DataRetrieval.m

    使用matlab做的简单网络爬虫-DataRetrieval.m 朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事。我写了一个简单的网络爬虫,主要用到正则表达式的东西,可以自动下载网站上的数据...

    Python使用jsonpath-rw模块处理Json对象操作示例.docx

    jsonpath-rw 模块不仅可以处理简单的 Json 对象,还可以处理复杂的 Json 对象。例如: ``` json_obj = {"student":[{"male":176,"female":162},{"male":174,"female":159}]} jsonpath_expr = parse("student[?(@....

    编译实验 计算器

    实现简单的计算器功能 编译实验

    Python中条件判断语句的简单使用方法

    最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用布尔操作符and、or和not连接,expr_true_suite是代码块,expression为true...

    expr-ssa-tmp

    专家 将简单表达式类型转换为SSA程序的代码示例。 用于演示UKC 2021项目周的GitHub Actions。

    持续渗透中的高级命令混淆对抗.pptx

    PowerShell 混淆可以使用 Invoke-Expression、Invoke-Expr ession 等命令来下载恶意文件,而 Bash 混淆可以使用简单的命令替换和变形来绕过防御系统。 命令混淆的原理是基于操作系统原生的三个命令行程序 PS/CMD....

    bdparsii:超级快速,简单的Java编写的数学表达式计算器,BigDecimal版本

    使用它很简单: Scope scope = Scope . create(); Variable a = scope . getVariable( " a " ); Expression expr = Parser . parse( " 3 + a * 4 " , scope); a . setValue( 4 ); System . out . println(expr . ...

    tcl语言资料/ug后处理的tcl语言

    在 TCL 语言中,变量命名可以使用 set 命令来设置变量的值,也可以使用 expr 命令来计算数学表达式。 例如: set variableA 10 set {variable B} test #使用 set 命令来设置变量的值 set variableA "10" set sum ...

    《Oracle Database编程指南》14-03:CASE表达式(CASE Expressions)

    在一个简单的CASE表达式中,当表达式expr的值等于比较表达式comparison_expr的值时,则执行返回表达式return_expr的值。如果没有满足expr这个条件,并且存在一个ELSE子句,将返回else_expr的值。否则,Oracle返回...

    文本方式下字处理程序的设计与实现

    清晰且易于操作的用户界面 动态显示光标的当前位置 在文本编辑区接受并保存输入信息 光标上移,下移,左移,右移 允许删除当前光标后的字符 将编辑文本存盘,读出并显示硬盘中的指定文件

    Python实现一个简单的递归下降分析器

    如果语法非常简单,你可以不去使用一些框架,而是自己写这个解析器。 解决方案 在这个问题中,我们集中讨论根据特殊语法去解析文本的问题。 为了这样做,你首先要以BNF或者EBNF形式指定一个标准语法。 比如,一个...

    php for 循环语句使用方法详细说明

    for循环允许你定义一个简单的代码行这些步骤。它似乎有一种奇怪的形式,所以一定要密切注意语法用! for 循环的语法是: for (expr1; expr2; expr3) statement 第一个表达式(expr1)在循环开始前无条件求值一次。 ...

    shell脚本概述.docx

    shell脚本主要用于帮助系统管理员将复杂而又反复的操作放在一个文件中,通过简单的一步执行操作完成相应任务,shell脚本是shell命令的有序集合。 shell脚本格式: Shell脚本开头#!/bin/bash 注释:#!是用来指定...

Global site tag (gtag.js) - Google Analytics