shell编程——变量的数值计算
在shell脚本中,有时候会需要对数值类型的变量进行计算,通常我们用的是(())
[root@localhost collect]# ((a=1+2))
[root@localhost collect]# echo $a
3
[root@localhost collect]# a=$((1+2+3))
[root@localhost collect]# echo $a
6
[root@localhost collect]# echo $((1+2+3+4))
10
但使用(())只能对整数进行数值计算,要想对浮点数进行计算则需使用bc
bc是linux下的计算器,它本身支持科学计算
[root@localhost collect]# echo "1+2"|bc
3
[root@localhost collect]# echo "1.3+2.2"|bc
3.5
[root@localhost collect]# echo "1.3*2.2"|bc
2.8
[root@localhost collect]# echo "2.5*4"|bc
10.0
这里再介绍linux下实现增量计算的有趣方法:变量++/– 和 ++/–变量
++/–放在变量的前面和后面效果差别很大:
[root@localhost collect]# a=1
[root@localhost collect]# echo $a
1
[root@localhost collect]# echo $((++a)) #先计算a+1,然后输出a
2
[root@localhost collect]# echo $a #这里a的值就是+1后的值
2
[root@localhost collect]# echo $((a++)) #先输出a,然后才计算a+1,所以这里a的值还是没有+1前的值
2
[root@localhost collect]# echo $a #这时候的变量a才是+1后的值
3
[root@localhost collect]# echo $((a--)) #同理,先输出a,再计算
3
[root@localhost collect]# echo $a
2
[root@localhost collect]# echo $((--a)) #先计算,再输出
1
[root@localhost collect]# echo $a
1
shell编程——变量的数值计算的更多相关文章
- shell编程变量赋值
[shell编程变量赋值] 1.等号两边均不能有空格存在.例, a="hello world" 2.变量和其它文字以{}或空格格开,否则会混淆.例, 有时候变量名可能会和其它文 ...
- Linux_10------Linux之shell编程------变量
.-9 vim num.sh #! /bin/bash num1=$1 num2=$2 sum=$(($num1+$num2)) #变量sum是num1和num2的综合 echo $sum 执行 ./ ...
- Linux Shell编程变量赋值和引用
我们可以使用任意一种文字编辑器,比如gedit.kedit.emacs.vi等来编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #!/bin/sh ... 注意:最好使用“! ...
- shell编程—变量(三)
在shell脚本中,变量分两种,系统变量和自定义变量. 系统默认变量是系统自带的一些变量,如path为路径变量 用户自定义变量为在编写吧脚本的时候自己定义的一些变量 变量名命名规则 首个字符必须为字母 ...
- SHELL (4) —— 变量的数值计算实践
摘自:Oldboy Linux运维——SHELL编程实战 利用(())双括号进行比较及判断: [root@yeebian ~]# echo $((3<8)) 1 #1表示真. [root@yee ...
- shell 编程 变量
转自:http://blog.csdn.net/qq504196282/article/details/52994249 shell之变量和引用 分类:SHELL编程基础 (470) (0) 举报 ...
- shell编程-变量
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: VALUE=“tmp” 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同时,变量名的命名须遵 ...
- shell基础--变量的数值计算
变量的数值计算 1.$((表达式)) (1).实验1 [root@~_~ day4]# cat test.sh #!/bin/bash a=6 b=2 echo "a-b=$(($a-$b) ...
- shell编程变量介绍与表达式详解
shell变量简介 变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据.脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell 变量也遵循这个规则. 在 Bash shell ...
随机推荐
- Win32 程序在启动时激活前一个启动程序的窗口
UWP 程序天生单实例.当然,新 API (10.0.17134)开始也提供了多实例功能.不过,传统 Win32 程序可就要自己来控制单实例了. 本文介绍简单的几个 Win32 方法调用,使 Win3 ...
- Unicode字符转换成字符串
/*** * Unicode字符转换成字符串 * @param str * Unicode字符 * @return * String * * @author WXW */ public static ...
- Emgucv3.0的安装与配置
环境:vs2015+Emgucv3.0 Emgu Cv简介: Emgu CV 是.NET平台下对OpenCV图像处理库的封装.也就是OpenCV的.NET版.它运行在.NET兼容的编程语言下调用Ope ...
- JavaScript:基本包装类型
为了方便操作,JavaScript提供了3个特殊的引用类型:Boolean.Number和String.实际上,每当读取一个基本类型值的时候,后台就会创建一个对应的基本包装类型的对象,从而可以调用这些 ...
- 模仿36。杀毒~button(转)
<Style x:Key="360btn" TargetType="{x:Type Button}"> <Setter Property=&q ...
- 再谈zabbix 邮件通知配置(不用脚本,简单配置就可以了)
备注: 安装过zabbix 的人,大家都应该了解,后者查询网上的资料邮件通知一般是编写一个脚本,即报警媒介类型,创建一个script类似的 然后编写脚本,进行发送,但是实际上,系统内置的邮件发送还是比 ...
- Nchan 安装试用(openresty 同时支持)
备注: 使用nginx最新的源码包(nginx-1.13.6),以及源码安装 1. 下载源码包(nginx+ Nchan) https://nginx.org/download/ng ...
- Mysql 5.7初始化密码
一.MAC Mysql安装 1.下载dmg安装 从http://dev.mysql.com/downloads/mysql/下载dmg安装 二.Mysql密码修改 1.通过mysql -uroot - ...
- JS和C#对Json的操作
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式.博主记得几年前在华为外包项目中有一个和Android应用交互的需求,Andr ...
- Spring AOP表达式报错:Pointcut is not well-formed: expecting 'name pattern' at character position
问题现象: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test ...