`

Linux expr用法

 
阅读更多

非原创, 摘自:《LINUX与UNIX Shell编程指南》

17.5 expr用法
expr命令一般用于整数值,但也可用于字符串。一般格式为:
expr argument operator argument
expr也是一个手工命令行计数器。
# expr 10 + 10
20
# expr 1500 + 900
2500
# expr 30 / 3
10
# expr 30 / 3 / 2
5
(注意运算符左右都有空格)
使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。
# expr 30 * 3
90

17.5.1 增量计数
expr在循环中用于增量计算。首先,循环初始化为0,然后循环值加1,反引号的用法意
即替代命令。最基本的一种是从(expr)命令接受输出并将之放入循环变量。
# LOOP=0
# LOOP=`expr $LOOP + 1`

17.5.2 数值测试
可以用expr测试一个数。如果试图计算非整数,将返回错误。
# rr=1.1
# expr $rr + 1
expr: non-numeric argument
$rr=2
# expr $rr + 1
3
(注意:这个例子与原文不同)
这里需要将一个值赋予变量(不管其内容如何),进行数值运算,并将输出导入dev/null,
然后测试最后命令状态,如果为0,证明这是一个数,其他则表明为非数值。
# value=12
# expr $value + 10 > /dev/null 2>&1
# echo $?
0
这是一个数。
# value=hello
# expr $value + 10 > /dev/null 2>&1
# echo $?
2
这是一个非数值字符。

expr也可以返回其本身的退出状态,不幸的是返回值与系统最后退出命令刚好相反,成
功返回1,任何其他值为无效或错误。下面的例子测试两个字符串是否相等,这里字符串为
“hello”和“hello”。
# value=hello
# expr $value = "hello"
1
# echo $?
0
expr返回1。不要混淆了,这表明成功。现在检验其最后退出状态,返回0表示测试成功,
“hello”确实等于“hello”。

17.5.3 模式匹配
expr也有模式匹配功能。可以使用expr通过指定冒号选项计算字符串中字符数。.*意即任
何字符重复0次或多次。
# value=accounts.doc
# expr $value : '.*'
12

在expr中可以使用字符串匹配操作,这里使用模式. d o c抽取文件附属名。
# expr $value : '(.*).doc'
accounts

 

FORM:http://blog.163.com/panfeng_pf/blog/static/1119608542009212423455/

分享到:
评论

相关推荐

    Linux expr命令用法详解

    Linux expr命令 expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。 语法 expr 表达式 表达式说明: 用空格隔开每个项; 用 / (反斜杠) 放在 shell 特定的...

    linux下的计算器使用

    ### Linux下的计算器使用详解 #### 引言 在Linux系统中,用户经常需要进行各种计算任务,例如数学运算、进制转换等。...通过掌握这些工具的使用方法,用户可以在Linux环境下高效地完成各种计算任务。

    Linux-shell脚本全面学习.pdf

    * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可执行,使用 `chmod +x filename` 命令改变文件的使用权限 1.1.2 注释 * 在 shell 编程中,以 `#` 开头的句子表示注释 * 注释可以帮助其他人...

    linux 调试工具gdb

    本文将详细介绍GDB的使用方法和核心功能。 **安装GDB** 在大多数Linux发行版中,可以通过包管理器安装GDB。例如,在Ubuntu或Debian上,可以使用以下命令: ``` sudo apt-get install gdb ``` 在CentOS或Fedora上...

    GNU Linux Tools Summary

    **GNU Linux工具总结** 在GNU/Linux操作系统中,命令行工具是日常操作的核心,它们...通过学习这份文档,不仅可以理解命令的基本用法,还能了解到如何组合使用这些工具以完成更复杂的任务,从而更好地驾驭Linux系统。

    Linux系统命令及其使用详解5.doc

    本篇文章将深入解析Linux中的"skill"命令及其使用方法,同时也会提及相关的"expr"和"tr"命令。 "skill"命令允许用户向运行中的进程发送信号,以控制它们的行为。默认情况下,它发送的信号是TERM(终止),但也可以...

    linux脚本基本命令

    1. 命令替换是一种在单个命令行中使用多个命令的方法,例如echo “the data is `date`” 2. expr命令:用于求之算术表达式,该命令的输出被送到标准输出,例如$ expr 4+ 5 将在屏幕上显示9 3. 算术展开:你可以在$...

    Linux修改时区和时间

    在 Linux 系统中,可以使用多种方法查看和设置时区。 1. 查看当前时区:可以使用 vi /etc/sysconfig/clock 命令查看当前时区。 2. 修改设置时区方法:可以使用 tzselect 或 timeconfig 命令修改时区。 3. 复制相应...

    linux下执行.sh文件的方法和语法

    Linux 下执行 .sh 文件的方法和语法是 Linux 环境下 shell 使用的重要方面。下面将详细介绍 Linux 下执行 .sh 文件的方法和语法。 执行 .sh 文件的方法 在 Linux 下执行 .sh 文件需要使用 chmod 命令来给予执行...

    Linux字符串截取

    1. 使用 expr 命令:`expr substr “$a” 1 8` 2. 使用 awk 命令:`echo $a|awk ‘{print substr(,1,8)}’` 3. 使用 cut 命令:`echo $a|cut -c1-8` 4. 使用 dd 命令:`echo $a|dd bs=1 count=8 2>/dev/null` 二、...

    linux shell 实现IP和数字的转换

    要将点分十进制IP转换为十进制整数,我们可以编写一个Shell脚本,使用`awk`或`expr`命令来处理。以下是一个简单的示例: ```bash #!/bin/bash ip="192.168.1.1" octets=(${ip//\./ }) dec_ip=0 for octet in "${...

    Linux_脚本.txt

    使用`expr`命令可以执行数学表达式的计算,而`test`命令(或其别名`[`和`]`)用于进行条件测试,比如比较字符串或数值。这些工具提供了在脚本中进行逻辑判断和数据分析的能力。 #### 7. 进阶技巧 脚本中提到了使用...

    Linux Shell脚本系列教程(五):数学运算.docx

    本文主要介绍了 Linux Shell 脚本系列教程(五):数学运算,涵盖了使用 let、(())和[]进行算术运算、使用 expr 进行算术运算、使用 bc 进行算术运算三种方法。 一、 使用 let、(())和[]进行算术运算 在 Linux ...

    linux date使用.zip,入门到精通

    最简单的使用方法就是直接输入`date`,它会以默认格式(如"Mon Nov 29 14:35:21 CST 2021")显示当前日期和时间。 三、自定义输出格式 `date`命令支持自定义日期和时间的输出格式,通过`+`后面接上指定的格式字符串...

    linux运维学习笔记:Shell变量的数值运算.pdf

    Linux运维学习中,Shell脚本的编写是基础技能之一。在Shell编程中,变量的数值运算是一项非常重要的功能。本文将详细介绍Shell变量的数值运算方法以及相关知识点。 首先,Shell变量进行数值运算时,常见的命令有:...

    《Linux操作系统》.doc

    - 本课程旨在系统地介绍Linux操作系统的基本操作、安装配置方法、常用命令的应用、图形界面及其应用程序的使用方法,并特别强调Linux在提供强大的网络服务方面的能力。 - 通过理论学习与实践操作相结合的方式,使...

    linux常用命令集(PDF版)

    由于文档内容可能存在OCR扫描错误,一些命令和描述可能不完全准确,但以上列出的命令确实是Linux系统中经常使用的命令,它们各自拥有特定的功能和应用场景。新手可以借助这类PDF文档,按照命令的功能进行分类学习,...

    linux GDB详解

    ### Linux GDB详解 #### 一、GDB简介 GDB (GNU Debugger) 是一个功能强大的调试工具,广泛...以上是对GDB调试工具的基本用法和高级特性的详细介绍,通过掌握这些技术,开发者可以更高效地发现并解决程序中的问题。

Global site tag (gtag.js) - Google Analytics