shell中expr使用

expr命令将把一个算术表达式作为参数,通常形式如下:

expr [数字] [操作符] [数字]

  由于Shell是按字符形式存储变量的,所以用户必须保证参加算术运算的操作数必须为数值。下面是有效的算术操作符:

    +   两个整数相加

    -   第一个数减去第二个数

    *   两整数相乘

    /   第一个整数除以第二个整数

    %   两整数相除,取余数

例如:

    [root@mail root]# expr 2 + 1

     结果显示:3

   [root@mail root]# expr 5 - 3

     结果显示:2

若expr的一个参数是变量,那么在表达式计算之前用变量值替换变量名。

    [root@mail root]# int=3

    [root@mail root]# expr $int + 4

    结果显示:7

  用户不能单纯使用"*"做乘法,若输入:

    [root@mail root]# expr 4*5

  系统将会报错,因为Shell看到"*"将会首先进行文件名替换。正确形式为:

    [[email protected] root]# expr 4 \* 5

     结果显示:20

  多个算术表达式可以组合在一起,例如:

    [[email protected] root]# expr 5 + 7 / 3

    结果显示:7

  运算次序是先乘除后加减,若要改变运算次序,必须使用"`"号,如:

    [[email protected] root]# int=`expr 5 + 7`

    [[email protected] root]# expr $int/3

     结果显示:4

    或者:

    [[email protected] root]# expr `expr 5+7`/3

    结果显示:4

时间: 2024-10-06 09:47:44

shell中expr使用的相关文章

Shell中expr命令

expr 命令 用途 求表达式变量的值. 语法 expr Expression 描述 expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出. 格式 expr Expression(命令读入Expression 参数,计算它的值,然后将结果写入到标准输出) –参数应用规则:     用空格隔开每个项:     用 \ (反斜杠) 放在 shell 特定的字符前面:     对包含空格和其他特殊字符的字符串要用引号括起来 最大的作用就是两个--四则运算和字符串的操作.

Shell 中expr的使用

1.expr命令一般用于整数值,其一般格式为:expr argument operator argument一般的用法是使用expr做算术运算,如:[[email protected] ~]# expr 10 + 2030$expr 30 / 3 / 25(注意运算符左右都有空格 ,如果没有空格表示是字符串连接)使用乘号时,必须用反斜线屏蔽其特定含义.因为shell可能会误解显示星号的意义.如:[[email protected] ~]# expr 10 * 10   //:错误,expr: s

Linux shell命令中expr

在Linux shell命令中expr虽然不是很起眼,但是它的作用是非常大的!到目前为止,我个人看来最大的作用就是两个——四则运算和字符串的操作. 先说四则运算,在Shell中四则运算不能简简单单的加减乘除,应该要写如下的格式: $val1=`$val2 - 1` 其中“=”后面用“`”包住表达式,这个符号在Shell中十分有用,是Tab键上面“~”的原来形式.可以用来将很多命令的结果保存到一个变量中去.接着就是运算符了,运算符的左右两边必须是空格,否则会出错. 接着是强大的字符串操作: 提取指

linux在shell中获取时间

获得当天的日期 date +%Y-%m-%d 输出: 2011-07-28 将当前日期赋值给DATE变量DATE=$(date +%Y%m%d) 有时候我们需要使用今天之前或者往后的日期,这时可以使用date的 -d参数 获取明天的日期 date -d next-day +%Y%m%d 获取昨天的日期 date -d last-day +%Y%m%d 获取上个月的年和月 date -d last-month +%Y%m 获取下个月的年和月date -d next-month +%Y%m 获取明年

书写优雅的shell脚本(五)- shell中(())双括号运算符

在使用shell的逻辑运算符"[]"使用时候,必须保证运算符与算数之间有空格. 四则运算也只能借助:let,expr等命令完成. 今天讲的双括号"(())"结构语句,就是对shell中算数及赋值运算的扩展. 1.语法: ((表达式1,表达式2-)) 2.特点: (1)在双括号结构中,所有表达式可以像c语言一样,如:a++,b--等. (2)在双括号结构中,所有变量可以不加入:"$"符号前缀. (3)双括号可以进行逻辑运算,四则运算 (4)双括号结

[ SHELL编程 ] shell中各种括号的使用方法

转载自:http://www.jb51.net/article/60326.htm 在这里我想说的是几种shell里的小括号,大括号结构和有括号的变量,命令的用法,如下:1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pattern),$(var%%pattern),$(var#pattern),$(var##pattern)现在分

shell简单用法笔记(shell中数值运算)二

shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a=123 b=456 c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法1: a=123 b=456 c=$(($a+$b)) 方法2: a=123 b=456 declare -i c=$a+$b 通过declare -i 来声明c的数值类型为int类型 方法3: a=123 b=456 c=$(expr $a + $b) 注意+号两边有空格 通过貂绒ex

shell中常用的特殊符号

在shell中常用的特殊符号罗列如下: # ; ;; . , / \ 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# [email protected] `command`{} [] [[]] () (()) || && {xx,yy,zz,...}~ ~+ ~- & \<...\> + - %= == != # 井号 (comments) 注释字符 该句不会被执行 ~ 帐户的 home 目录 用户的

shell中if条件字符串、数字比对,[[ ]]和[ ]区别

shell中if条件字符串.数字比对,[[ ]]和[ ]区别 引用: http://www.51testing.com/?uid-7701-action-viewspace-itemid-13731 http://blog.csdn.net/sunboy_2050/article/details/6836382 shell 括号 学习shell的时候总是被shell里的条件判断方式搞得头疼,经常不知道改 用[],[[]],(())还是test,let,而很少有书把它们的关系讲解的很清楚(应该是我