-------------------------------------------------------------------------------------------------

Shell中的变量的类型默认都是字符串,所以:

#!/bin/bash

aa=
bb=
cc=$aa+$bb echo $cc # +

数值运算的方式:

  declare声明变量的类型:

    declare [+/-] [选项] 变量名

  选项:

    -  :给变量设定类型属性

    + :取消变量的类型属性

    -i :将变量声明为整数型(int)

    -x :将变量声明为环境变量

    -p :显示指定变量的被声明的类型

aa=
bb=
cc=$aa+$bb declare -p aa # declare -- aa="" export aa declare -p aa # declare -x aa="" , declare具有了-x属性 declare -i cc=$aa+$bb # 将cc声明为数值型 echo $cc #

方法1(declare):

  declare -i cc=$aa+$bb

方法2(expr或let数值运算工具):

  dd=$(expr $aa + $bb)        # dd的值是aa和bb的和,+ 号左右两边必须有空格才有效

方法3:

  $((运算式))  或  $[运算式]       # 如果用单小括号,代表是包含的是系统命令

  echo $(( $aa+$bb ))

运算符有:赋值运算符,数值运算符,逻辑运算符.

  echo $(( aa=1 ))            # 1

  echo $(( 3*(6%4) ))          # 6

  echo $(( 1 && 0 ))           # 0

Link:http://www.cnblogs.com/farwish/p/4772110.html

[Shell]Bash变量:数值运算及运算符的更多相关文章

  1. shell基础:数值运算与运算符

    linux的shell中,变量的类型默认都是字符串型. export将aa声明为环境变量.也可用declare声明.其实就是改变了-x属性 $(()) 最常用.

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

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

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

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

  4. [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量

    --------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...

  5. shell数值运算与运算符

  6. shell中的数值运算

    By francis_hao    Oct 2,2017   本文摘录自bash的man手册.   算数运算相关的形式 形式 含义 ((expression)) expression按照下面描述的算术 ...

  7. [Shell]Bash变量:环境变量的配置文件和登录信息

    ----------------------------------------------------------------------------------------- 只有把环境变量放入配 ...

  8. [Shell]Bash变量:变量测试与内容替换

    --------------------------------------------------------------------------------------------- 变量测试是通 ...

  9. Shell/Bash 变量/variable 循环/loop

    如何在bash脚本里面进行循环 #!/bin/bash n=9999 for(( i =1; i<=100;i++)) do /root/testProgram $n sleep 5 n=$(( ...

随机推荐

  1. jenkins 持续集成iOS开发

    持续集成即Continuous Integration,简称CI 1,安装jenkins,brew install jenkins 2,在浏览器输入localhost:8080会出现一个网页,要求输入 ...

  2. libnids-1.24 使用源码问题

    从网上下载libnids-1.24源码包,解压后./configure安装. 会出现提示 checking for GLIB... configure: error: Package requirem ...

  3. SQLI DUMB SERIES-11

    (1)检测构造方式 由此看出输入的用户名以及密码都被一对单引号所包含. 方法一: (2) 模拟真实环境,以用户的身份登录. (3)用burp抓包.开启抓包,输入用户名和密码,会自动跳到这个页面,右键, ...

  4. Flex布局-项目的属性

    Flex项目有以下6个属性: order flex-grow flex-shrink flex-basis flex align-self order属性定义项目的排列顺序.数值越小,排列越靠前,默认 ...

  5. python------SocketServer (0809)

    socket(一对一) 与socketserver 一.socketserver 1. 正式定义:The socketserver module simplifies the task of writ ...

  6. 【SpringBoot】整合定时任务和异步任务

    ========================10.SpringBoot整合定时任务和异步任务处理 =============================== 1.SpringBoot定时任务s ...

  7. uboot下读取flash,上传tftp服务器、下载

    上传 setenv gatewayip 192.168.1.1; setenv serverip 192.168.1.7; setenv ipaddr 192.168.1.156 ; mw.b 0x8 ...

  8. Redis 集群知识点及命令

    Redis 集群命令 备注 cluster nodes 查看集群包含的节点 cluster meet <ip> <port> 将 ip 和 port 所指定的节点添加到 nod ...

  9. CSRF的防御解决过程

    CSRF是什么,就不多说,网络上的帖子多的去了,关于其定义. 这里主要介绍我们项目中,是如何解决这个问题的.方案比较简单,重点是介绍和记录一下遇到的问题和一些小的心得. 1. 解决方案 A. 用户登录 ...

  10. Excel技巧--分隔工资条

    要将上图的工资表,做成每行都带标题而且有空行间隔的工资条,可以这么做: 1.表格右侧添加一列数据列:输入1,2,选定,并双击单元格右下角形成一升序数字列: 2.再将该列复制,粘贴到该列末尾: 3.点一 ...