Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Windows98/ME > shell问答20:expr的用法
【标  题】:shell问答20:expr的用法
【关键字】:shell,20,expr
【来  源】:http://www.cublog.cn/u/2016/showart.php?id=82195

shell问答20:expr的用法

Your Ad Here
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
=============================

『转贴』Bash 实例:【上一篇】
移动包月话单下载及统计1.6:【下一篇】
【相关文章】
  • 正规表示法 Regular Expression, RE(ZT)
  • 正规表示法 Regular Expression
  • 060309--shell
  • 如何编写 shell 脚本
  • 万能的计算日期函数以及统计子目录大小的shell脚本
  • Shell版精华集锦
  • Shell中的grep、awk和sed的常用命令和语法
  • shell of check disk's capacity on linux
  • shell of check disk's capacity on solaris
  • 学习SHELL小结
  • 【随机文章】
  • 在Linux下玩 Windows游戏
  • Informix 時間處理
  • 基于嵌入式技术的网络视频监控系统
  • asp生成access数据字典代码
  • 利用C#编写一个简单的抓网页应用程序
  • JNI入门一_HelloWorld
  • boost::condition 使用的注意点
  • Eclipse做为基本的java编辑器来用,哪些插件不必须.
  • mht文件格式
  • Google编程挑战赛入围赛250分题及答案——BusStops题
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.