一、算术运算符

1、+、-

求和、 a+b   a-b

2、 *、/、%

求乘积,商,余数    a*b   a/b    a/b

3、**

幂运算,例如 3**3 是求 3 的立方,即 27

4、 +=、-=、 *=、/=、%=

例 a+=1 相当于 a=a+1

5、++variable、- -variable

先将变量variable的值加1,然后再赋给variable; 先将变量variable的值减1,然后再赋给 variable。

6、variable++、 variable--

先使用 variable 的值,然后再将该变量的值加 1 ; 先使用 variable 的值,然后再

将该变量的值减 1。

二、运算命令

1、(())

用于整数运 算的常用运 算符

在 (()) 中使用变量时可以去掉变量前的 $ 符号。

例如: var=$((1+2*9/3))

2、let

用于整数运算。

使用 let 命令可以执行一个或者多个算术表达式,其中的变量名毋需使用 $ 符号。

例如: let  var2=1+2*9/3

3、expr

可用于整数运算,但还有很多其他的额外功能。

使用 expr 时,运算符及用于计算的数字左右都至少有一个空格,否则会报错;使用乘号时,必须使用反斜线屏蔽其特定含义;使用expr 做计算,将一个未知的变量和一个已知的整数相加,看返回码是否为 0,如果为 0 就认为做加法的变量为整数,否则就不是整数。

例如:var3=`expr 1 + 2 \* 9 / 3`

注意:当反引号中的的数字和+之间存在空格才能计算出结果,否则运行出来的是一个表达式4+2。

4、bc

linux下的一个计算器程序(适合整数及小数运算)

例如:echo `seq -s "+" 10` = `seq -s "+" 10|bc`

1+2+3+4+5+6+7+8+9+10 = 55

seq 是生成数字序列, -s 是指定数字序列之间的分隔符。

例如:var4=`echo  1+2*9/3 | bc`

5、$[]

用于整数运算

例如:var5=$[1+2*9/3]

6、awk

awk 既可以用于整数运算,也可以小数运算。

例如:

var6=`awk  'BEGIN {print 1+2*4/3}'`

例如:

 var7=`echo 1 2 4 3 | awk '{print $1+$2*$3/$4}'`

Linux-Shell变量的算术运算的更多相关文章

  1. Linux shell 变量 数学 运算

    Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...

  2. Shell变量与算术运算

    区分两个 Shell Shell 语言与 Shell 解释器 Shell 语言 写 Shell 脚本使用的是 Shell 语言,Shell 既是一种命令语言,又是一种程序设计语言. 作为命令语言,它交 ...

  3. python文件读写操作与linux shell变量命令交互执行

    python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼! #coding=utf-8 #!/usr/bin/python import os impor ...

  4. Linux Shell变量

    200 ? "200px" : this.width)!important;} --> 介绍 变量是shell脚本中必不可少的组成部分,在脚本中使用变量不需要提前声明.在ba ...

  5. Linux shell变量详解

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...

  6. Linux Shell 变量自加

    转至:https://blog.csdn.net/dj0379/article/details/50946398/ declare -i iv=$svnvlet iv+=1shell中变量自增的实现方 ...

  7. 《Linux shell变量总结回顾》RHEL6(转)

    文章版权:http://www.cnblogs.com/linux-super-meng/ 环境变量路径: [root@localhost ~]# set   //查看到的是局部变量和全局变量2种 [ ...

  8. linux shell变量$#,$@,$0,$1,$2的含义解释

    变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览  ...

  9. Linux - Shell变量的配置守则

    变量的配置守则 变量与变量内容以一个等号『=』来连结,如下所示: 『myname=VBird』 等号两边不能直接接空格符,如下所示为错误: 『myname = VBird』或『myname=VBird ...

  10. linux shell 变量子串

    linx变量子串 在本例子中,变量 test=https://www.//cnblogs./com//jjmaokk/p/10135401.html 1,${#parameter} 返回变量$para ...

随机推荐

  1. Kafka 社区KIP-405中文译文(分层存储)

    原文链接:https://cwiki.apache.org/confluence/display/KAFKA/KIP-405%3A+Kafka+Tiered+Storage 译者:Kafka KIP- ...

  2. P2241

    这么多年不写代码,竟然忘了longlong这茬,我半天没想明白错在哪里,过了好久才反应过来.浪费不少时间,真的得记住longlong 啊.... Code #include <iostream& ...

  3. 线段树的区间更新 hdu 1698

    ***第一次写的果断超时,所以百度了一下,知道我写的每一次都要递归最底层,这样会花费很多时间,第二次写得线段树的区间更新,因为一个条件写错了,真是让我坑到死, 这样区间相同的不必更新,省了很多时间.. ...

  4. C++ 不使用虚析构的后果及分析

    很多 C++ 方面的书籍都说明了虚析构的作用: 保证派生类的析构函数被调用,并且使析构顺序与构造函数相反 保证资源能够被正确释放 很久一段时间以来,我一直认为第 2 点仅仅指的是:当派生类使用 RAI ...

  5. vim工具极简总结

    vim工具总结 背景 很多操作记不住. 想着总结当笔记使用. 备忘 基本总结 vim somefile 打开/新建文件 i/a/insert按键 进入插入模式 insert 连续两次 进入替换模式 e ...

  6. [转帖]通过 TiUP 部署 TiDB 集群的拓扑文件配置

    https://docs.pingcap.com/zh/tidb/stable/tiup-cluster-topology-reference 通过 TiUP 部署或扩容 TiDB 集群时,需要提供一 ...

  7. [转帖]s3fs

    https://github.com/s3fs-fuse/s3fs-fuse s3fs allows Linux, macOS, and FreeBSD to mount an S3 bucket v ...

  8. rfc7230 Message Syntax and Routing

    rfc7230 目录 rfc7230 2 Architecture 2.6 Protocol Versioning 3 Message Format 3.1 Start Line 3.1.1 Requ ...

  9. TypeScript工具类 Partial 和 Required 的详细讲解

    场景描述: 场景描述:一个接口(IPerson)有很多个的字段,可能有几百.而且这些字段都是必须的. 我们需要使用这个接口,但是我又不可能使用它的全部.可能只会使用几个. 我还必须要使用这接口.这个时 ...

  10. webservice--WSDL文件生成本地的代理类

    我们在对应第三方接口时常用:项目上右键---->服务引用---->WCF Web Service,如下图的页面----->填好url后---->转到,就可以发现服务,生成代理类 ...