首页 > 系统 > Linux > 正文

详解Shell编程之变量数值计算(一)

2019-10-26 18:56:36
字体:
来源:转载
供稿:网友

如果要执行运算,那就少不了运算符,和其他的编程语言相似,shell也有很多的运算符如下:

+、-、:代表着加号 和减号 或者,负号

*、/、%:代表着乘号,除号,和取模。

**   : 幂运算

++、-- :表示着增加或者减少,它可以放在前置,也可以放在变量的结尾

!、||、&&、(取反)(或) (and)

<、<=、>、>=  :比较符号,小于、小于等于、大于、大于等于

==、!=、= :相等,不相等, =表示相等于

<<     >>  向左移动 向右移动

等等,这里就不说了 到后面实践中再见!

Shell编程之算术运算命令

(())  用于整数之间常用的运算符,效率高

let :用于整数运算,类似于(())

expr :用于整数运算,但是还有其他功能

bc :Linux下的一个计算程序,适合整数及小数运算

$[] :用于整数运算

awk:awk既可以整数运算,也可以小数运算

declare: 定义变量值和属性,-i参数可以用于定义整形变量,做运算

第一眼看到这些 感觉很复杂,心乱,但是没有关系,慢慢的就好了~~~

一、双小括号(()) 数值运算命令

双小括号的作用是进行数值运算与数值的比较,它的效率很高,用法很灵活,是企业运维人员经常采用的操作符
((e=e+1)) 它的作用就是把e+1的结果赋值给变量e但是不可以用 echo ((e=e+1))来使用,但可以使用echo $((e=e+1))
e=$((e=e+1)) 作用就是把e+1的执行结果赋值给变量e

数值比较

((8>7&&5==5)) 用于数值之前的比较,用于条件判断

echo $((2+1)) 用于直接输出运算表达式的结果,在(()) 前面加$符号

案例1:双小括号"(())"数值运算实践

[root@shell-yankerp sh]# echo $((1+1)) #计算1+1后输出 2  #那么结果就是等于2 [root@shell-yankerp sh]# 

以此类推使用减号

[root@shell-yankerp sh]# echo $((6-3)) #计算6-3等于多少 3  #结果为3 [root@shell-yankerp sh]# 

是不是感觉有点简单。那么接下来利用"(())"进行稍微复杂的一些综合算术运算

[root@shell-yankerp sh]# ((a=1+2**3-4%3)) 

以上例子也就是说,首先a是一个变量名,那么在a=后面的一些计算的结果会赋值给a这个变量,那么首先我们得知道后面的计算结果是多少,在这个变量中 我们用到了+号"**"以及"-"号包括“%”首先计算过程是这样的。先算乘除,后算加减

2**3 等于 2x2x2=8 乘算出来之后算除。 4%3=1 取模---- 8-1=7 最后1+7=8 最后结果为8 输出如下:

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表