Shell中expr命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell中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命令的主要内容,如果未能解决你的问题,请参考以下文章