博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SHELL脚本的语法知识——数值计算
阅读量:5348 次
发布时间:2019-06-15

本文共 951 字,大约阅读时间需要 3 分钟。

①$[]

  $[ $a operator $b ]

  例: a=2;b=3;

     echo $[ $a + $b]   # 5

     echo $[$a-$b]  #-3

     echo $[++$a-$b]  #0

     c=$[$a+$b]  # √ c=6

     d=$[a+b]  # 6

  备注:除了自加自减运算符其他都支持;只能进行整数运算;++在操作数前面时不会报错也不会自加;$[]会输出运算结果

②let

  let a=b+c

  例:a=1;b=2;

    let c=a+b;echo $c  # 3

    let c=++a+b;echo $c  # 4

    c=let a+b  # × let不会输出计算结果

    echo `let a+b`  # × 

  备注:几乎支持所有运算符;表达式中的变量不加$;一般情况下表达式不用加双引号,但是如果表达式中有bash关键字则需加上;只能进行整数运算;let 不会输出运算结果,赋值需要在表达式中进行;bash内建命令

③[$](( ))

  例: 

    a=3;

    ((b=a+2));echo $b  # 5

    echo ((a+5)) 或者 c=((a+3))  # -bash: syntax error near unexpected token `('

    echo $((a+5)) 或者 c=$((a+3));echo $c  # 8 或 6

  备注:用法与let完全相同;如果前面有$符号,则结果输出,否则结果不输出

④bc

  例:

    f=`echo 3+1|bc`;echo $f  # 4

    touch f;echo 3+4 > f;cat f |bc  # 7

  备注:支持浮点数计算;支持除位运算之外的所有运算;通过scale进行精度设置

⑤expr

  例:

    a=3;

    b=`expr $a + 3`;echo $b  # 6

  备注:需要对部分操作符进行转义;操作符与操作数之间需用空格隔开;只支持整数运算

转载于:https://www.cnblogs.com/Ferir/p/4262474.html

你可能感兴趣的文章
Spring Bean InitializingBean和DisposableBean实例
查看>>
[容斥][dp][快速幂] Jzoj P5862 孤独
查看>>
Lucene 学习之二:数值类型的索引和范围查询分析
查看>>
软件开发工作模型
查看>>
Java基础之字符串匹配大全
查看>>
面向对象
查看>>
lintcode83- Single Number II- midium
查看>>
移动端 响应式、自适应、适配 实现方法分析(和其他基础知识拓展)
查看>>
selenium-窗口切换
查看>>
使用vue的v-model自定义 checkbox组件
查看>>
[工具] Sublime Text 使用指南
查看>>
Web服务器的原理
查看>>
常用的107条Javascript
查看>>
#10015 灯泡(无向图连通性+二分)
查看>>
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
HAL层三类函数及其作用
查看>>
Odoo 去掉 恼人的 "上午"和"下午"
查看>>