在Bash shell环境中,可以利用let、(( ))和[]执行基本的算术操作。而在进行高级操作时,

expr和bc这两个工具也会非常有用.

可以用普通的变量赋值方法定义数值,这时,它会被存储为字符串。然而,我们可

以用一些方法使它能像数字一样进行运算

(1) let 命令可以直接执行基本的算术操作。当使用let时,变量名之前不需要再添加$,

例如

[rhx@localhost Test]$ source 1.3.2.sh
[rhx@localhost Test]$ let result=no1+no2
[rhx@localhost Test]$ echo $result

自加,自减,按步长加

[rhx@localhost Test]$ let no1++
[rhx@localhost Test]$ let no1--
[rhx@localhost Test]$ let no1+=6
[rhx@localhost Test]$ let no1-=6

操作符[]的使用方法和let命令类似:

[rhx@localhost Test]$ reslut=$[ no1+no2 ]

在[]中也可以使用$前缀,例如:

[rhx@localhost Test]$ reslut=$[ $no1+5

也可以使用(()),但使用(())时,变量名之前需要加上$:

result=$(( no1 + 50 ))
expr同样可以用于基本算术操作:
result=`expr 3 + 4`
result=$(expr $no1 + 5)

以上这些方法只能用于整数运算,而不支持浮点数。

(2) bc是一个用于数学运算的高级工具,这个精密计算器包含了大量的选项。可以借助它执行浮点数运算并应用一些高级函数:

[rhx@localhost Test]$ echo "4*0.56" | bc

其他参数可以置于要执行的具体操作之前,同时以分号作为定界符,通过stdin传递给bc。
 设定小数精度。在下面的例子中,参数scale=2将小数位个数设置为2。因此,

bc将会输出包含两个小数位的数值。

[rhx@localhost Test]$ echo "scale=2;3/8"|bc

 进制转换。用bc可以将一种进制系统转换为另一种。来看看如何将十进制转换成二进制,然后再将二进制转换回十进制:
#!/bin/bash

用途:数字转换

[rhx@localhost Test]$ nu=100
[rhx@localhost Test]$ echo "obase=2;$nu"|bc

 计算平方以及平方根。
echo "sqrt(100)" | bc #Square root
echo "10^10" | bc #Square

Linux之数值运算:let,(()),[ ]相关推荐

  1. Linux Bash变量-数值运算与运算符

    01.声明变量类型 =>   declare[+/-][选项]变量名 -:给变量设定类型属性 +:取消变量的类型属性 -i:将变量声明为整数型(integer) -x:将变量声明为环境变量 -p ...

  2. Linux/unix不同shell环境下数值运算的处理

    在阅读本文前,您需要对变量替换.命令替换和数值替换有一点认识. 阅读完本文,您应该获得解决下列问题的信息: 不同shell(bash,csh,ksh)下如何处理数值的运算 常用来数值运算的命令 关于运 ...

  3. 数值运算 条件测试 、 if选择结构

    " "双引 引整体 "a b c" != a b c abc == "abc" 以后最好加"",防止出现错误 '' 单引 ...

  4. shell编程之数值运算

    shell编程是Linux学习中的难点,很多人学了几个月也是不明就里,那么今天我带着大家看一看,shell编程里面的数值运算 Shell 编程中的基本数值运算,这类运算包括: 数值(包括整数和浮点数) ...

  5. 数值运算python-Python : 数值以及数值运算

    数值类型 Python的数值类型包括:整数int,浮点数float和复数.其他的数值类型包括:Decimal和分数Fraction. int:整数不限精度 float:Python里的浮点数使用C语言 ...

  6. python 数值运算 m op n_python数值运算 四则运算

    数值运算 描述 获得用户输入的一个字符串,格式如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬ ...

  7. 数值范围_如何理解PLC对数值运算的定义与处理方式?

    戳上方蓝字 "技成电工课堂" 关注我们哦! 所谓数值运算,就是通过加减乘除来实现数值的变换.在PLC中,数值运算的指令不算难,难的是怎样理解PLC对这些数值的定义与处理方式.所以, ...

  8. 【Python基础】Python 3 Tutorial 专栏第一讲:Python的简单操作、数值运算、字符串、原位操作等...

    整理|Vincent 编辑|吴嘤嘤 今天开始,我们正式迈入Python 3 Tutorial 专栏第一讲的学习. 本讲目录: ·你的第一个程序 ·简单操作 ·浮点数 ·其他数值运算 ·字符串 ·简单输 ...

  9. Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数

    hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...

最新文章

  1. ISME: 北大吴晓磊组发现囊泡为细菌利用环境血红素提供全新途径
  2. 面向对象编程风格基于对象编程风格
  3. 十天冲刺---Day8
  4. IIS相关问题及解决方案
  5. Linux Shell脚本_禁止定时任务发送邮件
  6. lintcode 落单的数(位操作)
  7. TF下载量已超4600万!首届TensorFlow World大会,谷歌大牛Jeff Dean激情演讲
  8. BestCoder Round #70
  9. 快速开发jQuery插件的10大技巧(转)
  10. MagicBookPro-2019-Intel版BIOS降级教程
  11. 用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好
  12. 计算机网络拓扑结构 教案,计算机网络拓扑结构获奖教案.docx
  13. Ellisys Bluetooth Sniffer 文档 (EEN-BT09) - 访问链接密钥的方法
  14. CCF-20180901 卖菜
  15. 百万光年 ~~正式登陆苹果App Store~~
  16. LabVIEW开发太阳能测测系统
  17. 【科普】第二章 SIS 系统简介
  18. 工程师在创业团队的技术挑战
  19. Java集合有哪些?
  20. 青云、UCloud、阿里云、腾讯云等分别都有哪些特点?

热门文章

  1. 基于DataTables实现根据每个用户动态显示隐藏列,可排序
  2. 第二阶段冲刺 第六天
  3. JavaScript常用数组方法
  4. Django【进阶篇 】
  5. boostshared_ptr
  6. AB1601读触摸芯片ASC0106的IIC波形图
  7. java cloneable 用途_java中cloneable的使用
  8. C++ Primer 5th笔记(chap 19 特殊工具与技术)type_info 类
  9. C++ Primer 5th笔记(chap 19 特殊工具与技术)两种不可移植的特性之“位域”
  10. Html 教程 (4) <head>