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 ...
随机推荐
- UT, FT ,E2E 测试的意思
前端实现自动化就要借助到unit和e2e端到端测试了 一.unit测试(FT 就是Fucntion Test 功能测试, 注意不是: funciton函数 ...fucntion功能 不一样哦 ...
- Boostrap本地导入js文件
我一般都是用CDN直接导入的,但是有时候需要自己添加一些功能进入,会用到本地导入.关于导入路径问题,做个笔记. 使用HBuilder,首先右键导入相应的js/cs文件 然后是常规——>文件系统 ...
- 《剑指offer》第四十一题(数据流中的中位数)
// 面试题41:数据流中的中位数 // 题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么 // 中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值, // ...
- 查看GPU占用率以及指定GPU加速程序
GPU占用率查看: 方法一:任务管理器 如图,GPU0和GPU1的占用率如下显示. 方法二:GPU-Z软件 下面两个GPU,上面是GPU0,下面是GPU1 sensors会话框里的GPU ...
- Qt解析Json数据
1 JSON数据简介 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范) ...
- Codeforces 1079 E - The Unbearable Lightness of Weights
E - The Unbearable Lightness of Weights 思路: 分组背包dp 每组最多只能选一个 一些优化可以快很多 代码: #pragma GCC optimize(2) # ...
- java 里面耦合和解耦
百度解释: 耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象. 解耦就是用数学方法将两种运动分离开来处理问题. 这是形象搞笑的比喻:完全可以这么想像嘛,有一对热恋中 ...
- Jmeter 如何引入外部jar 包
最近使用Jmeter 测试需要引入Jar包,之前也遇到过,用过两种方式,各有利弊,今天又接触了一种方式,挺好,在此做一总结. 方法一:测试计划 通过 Add directory or jar to c ...
- 停止学习框架(Stop Learning Frameworks)
https://www.cnblogs.com/strick/p/10161733.html
- C#流(stream)
http://www.cnblogs.com/liuxinls/archive/2013/02/15/2912968.html 流用于对IO处理 在System.IO名称空间中有以下类 BinaryR ...