码迷,mamicode.com
首页 > 系统相关 > 详细

Shell中expr命令

时间:2016-06-21 20:53:32      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:expr

expr 命令

用途

求表达式变量的值。

语法

expr Expression

描述

expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。

格式 
expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出) 
–参数应用规则: 
    用空格隔开每个项; 
    用 \ (反斜杠) 放在 shell 特定的字符前面; 
    对包含空格和其他特殊字符的字符串要用引号括起来 


最大的作用就是两个——四则运算和字符串的操作。 


先说四则运算,在Shell中四则运算不能简简单单的加减乘除,应该要写如下的格式: 
$val1=`$val2 - 1` 

接着是强大的字符串操作
提取指定字符的下标:expr index 内容 字符                                          例如:$ind=`expr index "$content" "="` 
提取字符串的子串:expr substr 内容 起始位置 终点位置                      例如:$con=`expr substr "$content" "1" $ind 

————————————————————————————————————————————————



expr命令一般用于整数值,但也可用于字符串。一般格式为: 
expr argument operator argument 


expr也是一个手工命令行计数器

技术分享

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

技术分享

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


以下项描述了 Expression 参数的运算符和关键字。需要转义的字符由一个 / (反斜杠) 放在前面。

这些项按照优先权递增的顺序列出,具有相等的优先权的运算符分组在 {} (大括号) 中:

Expression1 /| Expression2                 返回 Expression1 如果它不是空值或者 0 值的话,否则返回 Expression2 。

Expression1 /& Expression2             返回 Expression1 如果两个表达式都不是空值或者 0 值,否则返回一个 0 值。

Expression1 { =, />, />=, /<, /<=, != } Expression2

Expression1 {+, - } Expression2

Expression1 { /*, /, % } Expression2

Expression1 : Expression2   和  match  Expression1   Expression2  一样

技术分享


技术分享


技术分享



–expr用法实例讲解: 

计算字符串长度

技术分享

提取字串

技术分享

抓取第一个字符出现的位置 

技术分享

整数运算

技术分享

增量计数 

技术分享

数值测试 

用expr测试一个数。如果试图计算非整数,则会返回错误。 

技术分享

模式匹配 

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

技术分享

在expr中可以使用字符串匹配操作

技术分享



《完》

本文出自 “零蛋蛋” 博客,谢绝转载!

Shell中expr命令

标签:expr

原文地址:http://lingdandan.blog.51cto.com/10697032/1791485

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!