Bash变量的运算与测试

1,数值运算和运算符

declare申明变量类型也就是说变量运算没有申明的时候,会以字符串形式的拼接,
只有把变量声明为数值型的时候才可以运算,申明变量为数值型有
三种方法方法1:declare定义
[root@localhost ~]# declare [+/-][选项] 变量名
选项:  - :  给变量设定类型属性  + :  取消变量的类型属性  -i:  将变量声明为整数型(integer)  -x:  将变量声明为环境变量 -p:  显示指定变量的被声明的类型 实例:[root@localhost ~]# aa=11 [root@localhost ~]# bb=22 # 给变量 aa 和 bb 赋值[root@localhost ~]# declare -i cc=$aa+$bb 方法2:expr或者let实例:[root@localhost ~]# aa=11 [root@localhost ~]# bb=22 # 给变量 aa 和变量 bb 赋值[root@localhost ~]# dd=$(expr $aa + $bb) #dd 的值是 aa 和 bb 的和。注意“ + ”号左右两 侧必须有空格方法3:“$((运算式))”或“$[运算式]”
实例:[root@localhost ~]# aa=11 [root@localhost ~]# bb=22 [root@localhost ~]# ff=$(( $aa+$bb )) [root@localhost ~]# gg=$[ $aa+$bb ]

shell运算符一览表

    优先级     运算符                                     说明 13      -, +                                        单目负、单目正 12      !, ~                                 逻辑非、按位取反或补码 11      * , / , %                                     乘、除、取模 10      +, -                                               加、减 9       << , >>                                 按位左移、按位右移 8       < =, > =,  < , >            小于或等于、大于或等于、小于、大于 7       == , !=                                       等于、不等于 6       &                                                  按位与 5       ^                                                按位异或 4       |                                                 按位或 3       &&                                                逻辑与 2       ||                                                逻辑或 1       =,+=,=,*=,/=,%=,&=, ^=, |=, <<=, >>=      赋值、运算且赋值实例:[root@localhost ~]# aa=$(( (11+3)*3/2 ))  # 虽然乘和除的优先级高于加,但是通过小括号可以调整运算优先级[root@localhost ~]# bb=$(( 14%3 ))  #14 不能被 3 整除,余数是 2  [root@localhost ~]# cc=$(( 1 && 0 )) # 逻辑与运算只有想与的两边都是 1 ,与的结果才是 1 ,否则 与的结果是 0

2,变量测试和内容替换

shell变量测试一览表百度即可(shell中也完全可以用if判断,不过变量测试更为简洁)实例:例子1:测试x=${y-新值} [root@localhost ~]# unset y # 删除变量 y [root@localhost ~]# x=${y-new} # 进行测试[root@localhost ~]# echo $x new # 因为变量 y 不存在,所以 x=new [root@localhost ~]# y="" # 给变量 y 赋值为空[root@localhost ~]# x=${y-new} # 进行测试[root@localhost ~]# echo $x[root@localhost ~]# y=old # 给变量 y 赋值[root@localhost ~]# x=${y-new} # 进行测试[root@localhost ~]# echo $x    old

shell脚本编程学习笔记3(xdl)——Bash变量的运算与测试相关推荐

  1. shell脚本编程学习笔记2(xdl)——Bash变量

    shell脚本编程学习笔记2--Bash变量 1,变量简介 1,计算机内存单元2,设置规则字母数组下划线组成,不能以数字开头Bash中,默认类型字符串型,变量类型可修改 2,Bash变量规则 1,变量 ...

  2. shell脚本编程学习笔记4(xdl)——Bash常见环境变量

    shell脚本编程学习笔记4--Bash常见环境变量 非专业运维,例如开发人员,环境变量熟悉常见的,了解不常见的即可. 1,简介 环境变量配置文件中主要是定义对系统的 操作环境生效的系统默认环境变量, ...

  3. shell脚本编程学习笔记1(xdl)——shell基础与Bash基本功能()

    shell脚本编程学习笔记1--shell基础与Bash基本功能 1,简介: 1,Shell就是一个命令行解释器,用以连接输入设别和内核. 2,Shell是解 释执行的脚本语言,在Shell中可以直接 ...

  4. shell脚本编程学习笔记6(xdl)——字符串截取命令

    shell脚本编程学习笔记6--字符串截取命令 1,cut命令 [root@localhost ~]# cut [选项] 文件名-f 列号,表示提取第几列-d 分隔符,按照指定的分隔符分割列注意:默认 ...

  5. shell脚本编程学习笔记8(XDL)——流程控制和循环

    shell脚本编程学习笔记8--流程控制和循环 1,if语句 1,框架 1,单分支:if [条件判断式] ;thenprogramfiif [条件判断式]thenprogramfi注意:if语句使用f ...

  6. shell脚本编程学习笔记5(xdl)——正则表达式

    shell脚本编程学习笔记5--正则表达式 1,简介 正则表达式,用来在文件中匹配符合条件的字符串,包含匹配.注意是文件中选择字符串,和通配符是 不同的.grep,awk,sed等命令可以支持正则表达 ...

  7. shell脚本编程学习笔记7(XDL)——字符处理命令和条件判断

    shell编程学习笔记--字符处理命令和条件判断 1,字符处理 [root@localhost ~]# sort [选项] 文件名 选项: -f: 忽略大小写 -n: 以数值型进行排序,默认使用字符串 ...

  8. shell脚本编程 学习笔记

    1.shell简介 1.1 什么是shell Shell 是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用Shell来启动.挂起.停止甚至是编写一 ...

  9. Linux Shell脚本编程学习笔记和实战

    http://www.1987.name/141.html shell基础 终端打印.算术运算.经常使用变量 Linux下搜索指定文件夹下特定字符串并高亮显示匹配关键词 从键盘或文件里获取标准输入 [ ...

最新文章

  1. python太难_传说中Python最难理解的点,看这完篇就够了
  2. python包的中 _init _.py文件介绍
  3. .Net判断一个对象是否为数值类型探讨总结(高营养含量,含最终代码及跑分)...
  4. Smart/400开发上手2: COBOL批处理程序处理过程
  5. Eclipse启动Web项目 Tomcat中webapps中没有项目文件夹
  6. 根据某一个字段查询但不是主键 sql该怎么写_为什么我使用了索引,查询还是慢?...
  7. html圆如何找到垂直中心线,一种用于找中心线及圆心的装置的制作方法
  8. 18个国外优质图片素材
  9. navicat15 安装
  10. 发票专用驱动sjz_税务局紧急提醒!10月31日前,不能领票,不能勾选!11月1日后,发票开具将大不同!...
  11. 实验1前篇——BIOS编程空间
  12. JavaWeb - 小米商城网 - 项目启动
  13. [阶段4 企业开发进阶] 5. Netty
  14. 直角坐标系的平移和旋转
  15. YUM和PXE自动装机
  16. GreenSock引人注目的动画
  17. 易灵思下载器EFINIX FPGA高速JTAG编程线USB仿真器驱动安装详细使用步骤
  18. Cadence Allegro 如何批量替换过孔?
  19. 反编译 APKTool 逆向助手
  20. 威廉·维克瑞 和 拍卖

热门文章

  1. 他们如何利用微信赚钱
  2. 计算机国二外键题,2015年计算机二级考试《MySQL》练习试题模拟
  3. 手机如何测光照度_如何3分钟学会用手机的专业模式拍照?
  4. JAVASE——2.IO流
  5. c语言流星雨程序下载,c语言 流星雨的实现.doc
  6. oracle中top命令详解,top命令-leonwang202-ChinaUnix博客
  7. ai取代程序员_未来50%的工作都将被人工智能给取代,程序员会被机器人取代吗?...
  8. 阿里云海外服务器网络评测
  9. Python 网络爬虫基础知识及体验
  10. Python数据采集案例(1):微博热搜榜采集