非原创, 摘自:《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命令 expr命令是一个手工命令行计数器,用于在UNIX/LINUX下求表达式变量的值,一般用于整数值,也可用于字符串。 语法 expr 表达式 表达式说明: 用空格隔开每个项; 用 / (反斜杠) 放在 shell 特定的...
在 Linux 系统中,可以使用多种方法查看和设置时区。 1. 查看当前时区:可以使用 vi /etc/sysconfig/clock 命令查看当前时区。 2. 修改设置时区方法:可以使用 tzselect 或 timeconfig 命令修改时区。 3. 复制相应...
### Linux下的计算器使用详解 #### 引言 在Linux系统中,用户经常需要进行各种计算任务,例如数学运算、进制转换等。...通过掌握这些工具的使用方法,用户可以在Linux环境下高效地完成各种计算任务。
* 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可执行,使用 `chmod +x filename` 命令改变文件的使用权限 1.1.2 注释 * 在 shell 编程中,以 `#` 开头的句子表示注释 * 注释可以帮助其他人...
本文将详细介绍GDB的使用方法和核心功能。 **安装GDB** 在大多数Linux发行版中,可以通过包管理器安装GDB。例如,在Ubuntu或Debian上,可以使用以下命令: ``` sudo apt-get install gdb ``` 在CentOS或Fedora上...
**GNU Linux工具总结** 在GNU/Linux操作系统中,命令行工具是日常操作的核心,它们...通过学习这份文档,不仅可以理解命令的基本用法,还能了解到如何组合使用这些工具以完成更复杂的任务,从而更好地驾驭Linux系统。
本篇文章将深入解析Linux中的"skill"命令及其使用方法,同时也会提及相关的"expr"和"tr"命令。 "skill"命令允许用户向运行中的进程发送信号,以控制它们的行为。默认情况下,它发送的信号是TERM(终止),但也可以...
1. 命令替换是一种在单个命令行中使用多个命令的方法,例如echo “the data is `date`” 2. expr命令:用于求之算术表达式,该命令的输出被送到标准输出,例如$ expr 4+ 5 将在屏幕上显示9 3. 算术展开:你可以在$...
Linux 下执行 .sh 文件的方法和语法是 Linux 环境下 shell 使用的重要方面。下面将详细介绍 Linux 下执行 .sh 文件的方法和语法。 执行 .sh 文件的方法 在 Linux 下执行 .sh 文件需要使用 chmod 命令来给予执行...
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` 二、...
要将点分十进制IP转换为十进制整数,我们可以编写一个Shell脚本,使用`awk`或`expr`命令来处理。以下是一个简单的示例: ```bash #!/bin/bash ip="192.168.1.1" octets=(${ip//\./ }) dec_ip=0 for octet in "${...
使用`expr`命令可以执行数学表达式的计算,而`test`命令(或其别名`[`和`]`)用于进行条件测试,比如比较字符串或数值。这些工具提供了在脚本中进行逻辑判断和数据分析的能力。 #### 7. 进阶技巧 脚本中提到了使用...
本文主要介绍了 Linux Shell 脚本系列教程(五):数学运算,涵盖了使用 let、(())和[]进行算术运算、使用 expr 进行算术运算、使用 bc 进行算术运算三种方法。 一、 使用 let、(())和[]进行算术运算 在 Linux ...
17.5 expr用法 157 17.5.1 增量计数 158 17.5.2 数值测试 158 17.5.3 模式匹配 158 17.6 小结 159 第18章 控制流结构 160 18.1 退出状态 160 18.2 控制结构 160 18.2.1 流控制 161 18.2.2 循环 161 18.3 if then ...
最简单的使用方法就是直接输入`date`,它会以默认格式(如"Mon Nov 29 14:35:21 CST 2021")显示当前日期和时间。 三、自定义输出格式 `date`命令支持自定义日期和时间的输出格式,通过`+`后面接上指定的格式字符串...
Linux运维学习中,Shell脚本的编写是基础技能之一。在Shell编程中,变量的数值运算是一项非常重要的功能。本文将详细介绍Shell变量的数值运算方法以及相关知识点。 首先,Shell变量进行数值运算时,常见的命令有:...
- 本课程旨在系统地介绍Linux操作系统的基本操作、安装配置方法、常用命令的应用、图形界面及其应用程序的使用方法,并特别强调Linux在提供强大的网络服务方面的能力。 - 通过理论学习与实践操作相结合的方式,使...
由于文档内容可能存在OCR扫描错误,一些命令和描述可能不完全准确,但以上列出的命令确实是Linux系统中经常使用的命令,它们各自拥有特定的功能和应用场景。新手可以借助这类PDF文档,按照命令的功能进行分类学习,...