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

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. 安装jdk1.8

    这是很普通的shell的脚本,只需要注意:echo 语句内出现的变量,需要转义! #!/bin/bash function get_current_time_stamp(){ echo `date & ...

  2. 云南-第一个应用节点-ssh登录-卡顿的问题

    云南电信,从管理节点ssh连接到第一个应用节点,出现延迟卡顿的问题,解决方法:   systemctl restart systemd-logind.service   附: 操作系统类型: SLES ...

  3. golang sync.Cond条件变量的使用

    cond.Wait()的操作实际上是对与cond绑定的锁先进行解锁,在等待通知:接收到通知后,会尝试加锁,加锁成功则唤醒否则继续等待通知: cond.Waite()前必须对关连锁加锁,否则panic ...

  4. Python全栈之路----数据类型—字典

    字典:可变,一种key-value的数据类型 info = { 'stu1101' : 'TengLan Wu' , 'stu1102' : 'LongZe Luola' , 'stu1103' : ...

  5. SSH(远程登录)原理

    最近在研究hadoop,因为是分布式的,会涉及很多机器协作工作,但所有的操作都是需要进行权限验证的,namenode主机会尝试启动datanode主机上的进程等等.下面就用一张图来解释SSH登录验证的 ...

  6. c#泛型TryParse类型转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...

  7. JSP本质的理解(浏览器调试,response里面的文本都是out.write写入网络流)

    一.请求转发到一个Servlet 请求重定向后,url显示的是/abc1234这个url 这个jsp页面就是一个servlet[通过our把文本输入的网络流里面去了]

  8. php配置php_pdo_mysql模块

    网上的都是什么编译安装的,总算找到一个简单的方法 安装好PHP yum install php php-fpm -y 直接安装pdo模块 yum install php-pdo_mysql 在/etc ...

  9. linux(centos6.9)安装步骤

    http://blog.csdn.net/u012453843/article/details/52819756 https://mirrors.aliyun.com/ 下载想要的版本 2选择新建虚拟 ...

  10. zabbix与tomcat(六)

    一.zabbix监控远程tomcat的流程   Zabbix-server 找 zabbix Java Gateway获取Java数据 zabbix Java Gateway 找Java程序(zabb ...