Shell脚本学习二:Shell中的算术运算
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本学习二:Shell中的算术运算相关的知识,希望对你有一定的参考价值。
Linux中有四种算术运算,分别是expr,let,$[],$(())。
下面分别介绍一下这四种算术运算的使用方法
一、expr的用法
[[email protected] ~]# expr 1 + 2 3 [[email protected] ~]# expr 1 - 2 -1 [[email protected] ~]# expr 8 + 6 14 [[email protected] ~]# expr 8 - 6 2 [[email protected] ~]# expr 8 \* 6 48 [[email protected] ~]# expr 8 / 6 1 [[email protected] ~]# a=3 [[email protected] ~]# b=4 [[email protected] ~]# expr $a + $b 7
以上分别是expr做加减乘除运算的例子。
在使用expr做运算的时候,如果想要将运算结果赋值给另一个变量,就要像如下的操作那样。
[[email protected] ~]# a=`expr 2 + 3` [[email protected] ~]# echo $a 5
下面说一下使用expr要注意的地方。
1、使用expr做运算的时候,算术和运算符之间要用空格分隔开,否则将不会进行运算
[[email protected] ~]# expr 1+2 1+2
2、在进行乘法运算的时候,*前面要接\转义,因为*在正则表达式里面代表匹配多个的意思
[[email protected] ~]# expr 2 * 3 expr: syntax error
二、let命令
[[email protected] ~]# let a=2+3 [[email protected] ~]# echo $a 5 [[email protected] ~]# let a=2-3 [[email protected] ~]# echo $a -1 [[email protected] ~]# let a=2*3 [[email protected] ~]# echo $a 6 [[email protected] ~]# let a=2/3 [[email protected] ~]# echo $a 0 [[email protected] ~]# b=4 [[email protected] ~]# c=2 [[email protected] ~]# let a=$b/$c [[email protected] ~]# echo $a 2
在使用let的时候,一般都需要将他们赋给一个变量来接受运算的结果。
let跟expr不一样,不需要再算数和运算符之间加空格。
三、$[]的使用
[[email protected] ~]# a=$[2+3] [[email protected] ~]# echo $a 5 [[email protected] ~]# a=$[2-3] [[email protected] ~]# echo $a -1 [[email protected] ~]# a=$[2*3] [[email protected] ~]# echo $a 6 [[email protected] ~]# a=$[2/3] [[email protected] ~]# echo $a 0
四、$(())的使用
[[email protected] ~]# a=$((1+3)) [[email protected] ~]# echo $a 4 [[email protected] ~]# a=$((1-3)) [[email protected] ~]# echo $a -2 [[email protected] ~]# a=$((1*3)) [[email protected] ~]# echo $a 3 [[email protected] ~]# a=$((1/3)) [[email protected] ~]# echo $a 0
本文出自 “ssspure” 博客,请务必保留此出处http://ssspure.blog.51cto.com/8624394/1862362
以上是关于Shell脚本学习二:Shell中的算术运算的主要内容,如果未能解决你的问题,请参考以下文章