Linux-Shell变量的算术运算
一、算术运算符
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变量的算术运算的更多相关文章
- Linux shell 变量 数学 运算
Abstract : 1) Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...
- Shell变量与算术运算
区分两个 Shell Shell 语言与 Shell 解释器 Shell 语言 写 Shell 脚本使用的是 Shell 语言,Shell 既是一种命令语言,又是一种程序设计语言. 作为命令语言,它交 ...
- python文件读写操作与linux shell变量命令交互执行
python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼! #coding=utf-8 #!/usr/bin/python import os impor ...
- Linux Shell变量
200 ? "200px" : this.width)!important;} --> 介绍 变量是shell脚本中必不可少的组成部分,在脚本中使用变量不需要提前声明.在ba ...
- Linux shell变量详解
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...
- Linux Shell 变量自加
转至:https://blog.csdn.net/dj0379/article/details/50946398/ declare -i iv=$svnvlet iv+=1shell中变量自增的实现方 ...
- 《Linux shell变量总结回顾》RHEL6(转)
文章版权:http://www.cnblogs.com/linux-super-meng/ 环境变量路径: [root@localhost ~]# set //查看到的是局部变量和全局变量2种 [ ...
- linux shell变量$#,$@,$0,$1,$2的含义解释
变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 ...
- Linux - Shell变量的配置守则
变量的配置守则 变量与变量内容以一个等号『=』来连结,如下所示: 『myname=VBird』 等号两边不能直接接空格符,如下所示为错误: 『myname = VBird』或『myname=VBird ...
- linux shell 变量子串
linx变量子串 在本例子中,变量 test=https://www.//cnblogs./com//jjmaokk/p/10135401.html 1,${#parameter} 返回变量$para ...
随机推荐
- uni-app阿里图标引用
@font-face { font-family: "iconfont"; /* Project id 2566540 */ src: url('~@/static/fonts/i ...
- Skywalking 搭建 nacos 注册中心及mysql 存储的集群架构
本文为博主原创,未经允许不得转载 Skywalking 集群是将skywalking oap作为一个服务注册到nacos上,只要skywalking oap服务没有全部宕机,保证有一个skywalki ...
- 【RTOS】基于RTOS的降低功耗的策略
RTOS中降低功耗的策略 Saving Power with an RTOS 介绍 随着绿色节能产品需求的增加,快速增长的移动设备,其电池寿命最受关注,设计者必须要考虑在其设计中如何最大限度的降低功耗 ...
- Go-数据类型-函数
函数类型 函数声明本质上是定义了函数类型的变量 package main import "fmt" // 定义了函数,本质上是在全局作用域中声明了一个函数类型的变量 info 其类 ...
- JVM内存参数的学习之三
JVM内存参数的学习之三 背景 研究启动性能时, 顺便看到了jmap -heap 1 的部分信息 看到: MinHeapFreeRatio.MaxHeapFreeRatio 自己突然以为是 Perce ...
- [粘贴]TiDB Lightning 断点续传
https://www.bookstack.cn/read/tidb-6.1-zh/tidb-lightning-tidb-lightning-checkpoints.md 大量的数据导入一般耗时数小 ...
- [转帖]TiUP 命令概览
https://docs.pingcap.com/zh/tidb/stable/tiup-reference TiUP 在 TiDB 生态中承担包管理器的功能,管理着 TiDB 生态下众多的组件,如 ...
- [转帖]《AWK程序设计语言》笔记(1)—— AWK入门与简单案例
原文为 <The AWK Programming Language>,GitHub上有中译版,不过有些内容翻译的比较奇怪,建议跟原版对照着看 https://github.com/wuzh ...
- [转帖]数据库篇-MySql架构介绍
https://zhuanlan.zhihu.com/p/147161770 公众号-坚持原创,码字不易.加微信 : touzinv 关注分享,手有余香~ 本篇咱们也来聊聊mysql物理和逻辑架构,还 ...
- 400G 光模块的价格
400G 光模块的价格 令人惊叹... https://www.fs.com/cn/c/40g-100g-transceivers-889?pro_type=&sortby=priced&a ...