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 ...
随机推荐
- pl/sql编译存储过程卡住的解决方法
oracle编译存过卡住处理: 问题描述: 在编译某个存过时,由于没提交或断网或者test没停止又重新编译,导致编译存过一直卡死 问题分析: 存过或某张表被锁 问题处理: 1.查看存过是否锁住,loc ...
- Linux中系统检测工具top命令
Linux中系统检测工具top命令 本文转自:https://www.cnblogs.com/zhoug2020/p/6336453.html 首先介绍top中一些字段的含义: VIRT:virtua ...
- 生成更大的陆地 Making A Large Island
2018-10-06 19:44:18 问题描述: 问题求解: 经典的求连通块问题的扩展,问题规模不大,可以暴力求解. 解法一.Brute Force O(n^4) int[][] dirs = ne ...
- 最大的矩形面积 Maximal Rectangle
2018-09-15 10:23:44 一.Largest Rectangle in Histogram 在求解最大的矩形面积之前,我们先讨论一条最大直方图面积的问题. 问题描述: 问题求解: 解法一 ...
- Oracle:新增用户登录提示“ORA-04098:触发器‘GD.ON_LOGON_TRIGGER’无效且未通过重新验证”
接着上一篇创建一个只有查看权限的用户,在测试环境,新建账号后尝试登录,提示如下: 1.看提示是base库的触发器有问题了,所以先定位到这个触发器 SELECT * FROM DBA_OBJECTS W ...
- ubuntu 14.04 postgresql 的总结
1)为了允许远程连接: a) http://askubuntu.com/questions/423165/remotely-access-postgresql-database To open the ...
- 雷林鹏分享:jQuery EasyUI 插件
jQuery EasyUI 插件 jQuery EasyUI 提供了用于创建跨浏览器网页的完整的组件集合,包括功能强大的 datagrid(数据网格).treegrid(树形表格). panel(面板 ...
- 雷林鹏分享:C# 结构(Struct)
C# 结构(Struct) 在 C# 中,结构是值类型数据结构.它使得一个单一变量可以存储各种数据类型的相关数据.struct 关键字用于创建结构. 结构是用来代表一个记录.假设您想跟踪图书馆中书的动 ...
- 看到篇博文,用python pandas改写了下
看到篇博文,https://blog.csdn.net/young2415/article/details/82795688 需求是需要统计部门礼品数量,自己简单绘制了个表格,如下: 大意是,每个部门 ...
- PHP的几种输出方式
请写出echo.print_r.print.var_dump .die之间的区别 echo 只能输出字符串等单一数据 不能输出数据类型 不能输出数组等多种数据 print() 只能输出字符串等单一 ...