shell 数值运算
declare数值运算
linux默认变量类型为字符串
declare [+/-] [选项] 变量名
'-' 给变量设定类型属性
'+' 取消变量的类型属性
'-a' 将变量声明为数组型
'-i' 将变量声明为整数型(integer)
'-x' 将变量声明为环境变量
'-r' 将变量声明为只读变量
'-p' 显示指定变量的被声明的类型;
声明自读变量
declare -r test
给test赋予只读属性,但是请注意只读属性会让变量不能修改,不能删除,甚至不能取消只读属性
"声明数值类型"
>>aa=11
>>bb=22
>>declare -i cc=$aa+$bb
声明环境变量
declare -x test=123
#和export作用相似,但其实是declare命令的作用
[root@ssgao1987 ~]# movie[0]=zp
[root@ssgao1987 ~]# movie[1]=tp
[root@ssgao1987 ~]# declare movie[2]=live
[root@ssgao1987 ~]# echo ${movie}
zp
[root@ssgao1987 ~]# echo ${movie[2]}
live
[root@ssgao1987 ~]# echo ${movie[*]}
zp tp live
note: declare movie[x]=xx与movie[x]=xxx是等价的
数值运算工具
[root@ssgao1987 ~]# aa=11
[root@ssgao1987 ~]# bb=22
[root@ssgao1987 ~]# dd=$(expr $aa + $bb)
[root@ssgao1987 ~]# echo $dd
33
-------
#dd的值是aa和bb的和。注意"+"号左右两侧必须有空格
$((运算式))或$[运算式]
[root@ssgao1987 ~]# ff=$(($aa+$bb)) 最好记的格式
[root@ssgao1987 ~]# echo $ff
33
[root@ssgao1987 ~]# gg=$[$aa+$bb]
[root@ssgao1987 ~]# echo $gg
33
shell的运算实例
[root@ssgao shell]# cat c.sh
#!/bin/bash
a=$1
b=$2
d=$a+$b
c=`expr $a + $b` //对变量进行加法操作结果赋给变量c 注意添加``
e=`expr $a \* $b` //乘法需要进行转移操作
echo "c 的结果:${c}"
echo "d 的结果:${d}"
echo "e 的结果:${e}"
[root@ssgao shell]# sh c.sh 2 4
c 的结果:6
d 的结果:2+4
e 的结果:8
aa=$(( (11+3)*3/2 ))
虽然乘和除优先级高于加,但是通过小括号可以调整运算优先级
bb=$((14%3))
14不能被3整除,余数是2
cc=$((1&&0))
逻辑与运算只有想与的两边都是1,与的结果才是1,否则与的结果是0
shell 数值运算的更多相关文章
- shell数值运算与运算符
- Linux - 数值运算
Shell - 数值运算 因为shell脚本是属于弱语言,没有变量类型的概念,所以定义变量会默认为字符串.就算看上去是一个数字,当直接进行计算时,就会出错: x=1 echo $x+=1 # 输出1+ ...
- shell简单用法笔记(shell中数值运算)二
shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...
- shell之数值运算
Shell中声明变量默认是字符串, 要参与数值运算,可使用下面方式,简单,表示以数值方式.
- [Shell]Bash变量:数值运算及运算符
------------------------------------------------------------------------------------------------- Sh ...
- LinuxShell脚本编程基础2-变量与数值运算、父shell和子shell
1.变量和数值运算 Shell脚本的变量不需要声明的 对变量赋值有两种方式, 直接用“=” 或者用键盘输入值 #!/bin/bash name1="Jack" echo $name ...
- Shell基础(二):Shell中的数值运算、条件测试操作、使用if选择结构
一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78 ...
- 在shell script中进行数值运算的两种方法
方法1:使用"$((计算式))"的方式进行数值运算,不需要使用declare命令显示声明数值型变量来存储计算结果: 方法2:使用declare命令配合"-i"选 ...
- shell脚本基础 数值运算 判断 及if语句
数值运算 整数运算[三种,随便掌握一种即可]expr 数字 运算符 数字 [root@ceshiji ~]# expr 1 + 1(运算符号都是+ - * / 注:*需要\*.%是取余,余数只有0 1 ...
随机推荐
- c++ cmakelist 详解
基本元素 首先cmaklist必须包括以下几个部分: #工程名 project(study_case) #cmake最低版本需求 cmake_minimum_required(VERSION 2.8. ...
- python3使用pymysql模块,连接mysql数据库,实现新增、查询和更新操作
1.环境数据准备: python3环境.pymysql模块 mysql数据库:本次代码中用到的数据库为本地的testdb数据库,user表(表字段比较简单,只有主键id,手机号mobile,密码pas ...
- Rxbus的使用
Rxbus是一种模式,在RxJava中 一.添加依赖 compile 'io.reactivex:rxandroid:1.2.0' compile 'io.reactivex:rxjava:1.1.5 ...
- 06-python-生成器、循环器
生成器 生成器(generator)的主要目的是构成一个用户自定义的循环对象. 生成器的编写方法和函数定义类似,只是在return的地方改为yield.生成器中可以有多个yield.当生成器遇到一个y ...
- python requests库与json数据处理详解
1. http://docs.python-requests.org/zh_CN/latest/user/quickstart.html get方法将参数放在url里面,安全性不高,但是效率高:pos ...
- python中的break\return\pass\continue用法
continue: def func(): for i in range(1,11): if i % 2 == 0: continue # 作用是当符合上面的if判语句后,就直接跳过之后的语句,也就是 ...
- jmap -histo pid 输出的[C [B [I [S 的含义
JMAP 输出 其中: [C is a char[][S is a short[][I is a int[][B is a byte[][[I is a int[][]
- p1474 Money Systems
就是背包,用O(n*m)的一维. #include <iostream> #include <cstdio> #include <cmath> #include & ...
- Confluence 6 创建小组的公众空间
现在是我们可以开始创建公众空间的时候了,全世界都希望知道这个项目和勇敢的探险活动. 在这个步骤中,我们将会创建一个项目小组的空间,并且将这个空间公布给全世界.这个表示的是你将会让你的 Confluen ...
- android主流开源库
网络框架:Volley 和 Async Volley特点:能使网络通信更快,更简单.更健壮 Get,Post网络请求及网络图像的高效率 Async:高效的网络数据请求, 解析成json 持久化cook ...