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 数值运算的更多相关文章

  1. shell数值运算与运算符

  2. Linux - 数值运算

    Shell - 数值运算 因为shell脚本是属于弱语言,没有变量类型的概念,所以定义变量会默认为字符串.就算看上去是一个数字,当直接进行计算时,就会出错: x=1 echo $x+=1 # 输出1+ ...

  3. shell简单用法笔记(shell中数值运算)二

    shell中变量值,如果不手动指定类型,默认都是字符串类型: 例如: a= b= c=$a+#b echo $c 结果会输出:123+456 shell中,如果要进行数值运算,可以通过一下方法: 方法 ...

  4. shell之数值运算

    Shell中声明变量默认是字符串, 要参与数值运算,可使用下面方式,简单,表示以数值方式.

  5. [Shell]Bash变量:数值运算及运算符

    ------------------------------------------------------------------------------------------------- Sh ...

  6. LinuxShell脚本编程基础2-变量与数值运算、父shell和子shell

    1.变量和数值运算 Shell脚本的变量不需要声明的 对变量赋值有两种方式, 直接用“=” 或者用键盘输入值 #!/bin/bash name1="Jack" echo $name ...

  7. Shell基础(二):Shell中的数值运算、条件测试操作、使用if选择结构

    一.Shell中的数值运算 目标: 本案例要求熟悉Linux Shell环境的特点,主要练习以下操作: 1> 使用expr.$[ ].let等整数运算工具:定义变量X=1234,然后计算X与78 ...

  8. 在shell script中进行数值运算的两种方法

    方法1:使用"$((计算式))"的方式进行数值运算,不需要使用declare命令显示声明数值型变量来存储计算结果: 方法2:使用declare命令配合"-i"选 ...

  9. shell脚本基础 数值运算 判断 及if语句

    数值运算 整数运算[三种,随便掌握一种即可]expr 数字 运算符 数字 [root@ceshiji ~]# expr 1 + 1(运算符号都是+ - * / 注:*需要\*.%是取余,余数只有0 1 ...

随机推荐

  1. python+unittet在linux与windows使用的区别

    使用python的unittest编写单元测试框架,批量运行测试用例时,如果使用discover时,windows环境下和linux环境下的代码不一样 Windows环境的run.py代码: case ...

  2. 远程Service的显示 / 隐式启动

    在进程间通信时,常会设计开启远程 Service 的情况.开启远程 Service 的方式有两种,一种时显示开启,一种是隐式开启.下面分别来看: 一.隐式开启 服务端:Service 所在 Andro ...

  3. 牛客国庆集训派对Day3 I Metropolis

    Metropolis 思路: 多源点最短路 只要两个不同源点的最短路相遇,我们就更新两个源点的答案 代码: #pragma GCC optimize(2) #pragma GCC optimize(3 ...

  4. SpringData Redis

    Redis spring-data-redis

  5. Python 编程快速上手 第十四章 处理 CSV 文件和 JSON 数据

    前言 这一章分为两个部分,处理 CSV 格式的数据和处理 JSON 格式个数据. 处理 CSV 理解 csv csv 的每一行代表了电子表格中的每一行,每个逗号分开两个单元格csv 的内容全部为文本, ...

  6. JavaScript 第三章总结

    Getting functional function的特点 function can be reused over and over much more readable function is p ...

  7. C#复习题(概念) --C#学习笔记

    第一章 1.公共语言架构(CLI)由哪几部分组成? (1)通用类型系统:定义了一套类型系统的框架,规定了数据类型的声明.使用和管理方法. (2)公共语言规范:一组语言规则的集合 (3)通用中间语言:一 ...

  8. CF-831D Office Keys 思维题

    http://codeforces.com/contest/831/problem/D 题目大意是在一条坐标轴上,给出n个人,k把钥匙(k>=n)以及终点的坐标,所有人都可以同时运动,但不可以公 ...

  9. drf 认证、权限、限流、过滤、排序、分页器

    认证Authentication 准备工作:(需要结合权限用) 1. 需要使用到登陆功能,所以我们使用django内置admin站点并创建一个管理员. python manage.py creates ...

  10. SWUST OJ(953)

    单链表的删除操作的实现 #include <stdio.h> #include <stdlib.h> typedef struct LinkNode //单链表节点结构的定义 ...