`
wayne173
  • 浏览: 362907 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

shell 中数学计算总结

阅读更多

shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法,以后用到的时候可以来看,呵呵。
   1、错误方法举例
   a)
   var=1+1
   echo $var
   输出的结果是1+1,悲剧,呵呵
  
   b)
   var=1
   var=$var+1
   echo $var
   输出结果是1+1,依然悲剧,呵呵
  
   2、正确方法
   1)使用let
   var=1
   let "var+=1"
   echo $var
   输出结果为2,这次没有悲剧
   注意:
   a)经我测试let几乎支持所有的运算符,在网上看到一篇文章说“let不支持++、--和逗号、(、)”,但经我测试自加、自减、以及括号的优先级都得到了很好的支持
   b)方幂运算应使用“**”
   c)参数在表达式中直接访问,不必加$
   d)一般情况下算数表达式可以不加双引号,但是若表达式中有bash中的关键字则需加上
   e)let后的表达式只能进行整数运算

   2)使用(())
   var=1
   ((var+=1))
   echo $var
   输出结果为2
   注意:
   (())的使用方法与let完全相同
  
   3)使用$[]
   var=1
   var=$[$var+1]
   echo $var
   输出结果位2
   注意:
   a)$[]将中括号内的表达式作为数学运算先计算结果再输出
   b)对$[]中的变量进行访问时前面需要加$
   c)$[]支持的运算符与let相同,但也只支持整数运算
  
   4)使用expr
   var=1
   var=`expr $var + 1`
   echo $var
   输出结果为2
   注意:
   a)expr后的表达式个符号间需用空格隔开
   b)expr支持的操作符有: |、&、<、<=、=、!=、>=、>、+、-、*、/、%
   c)expr支持的操作符中所在使用时需用\进行转义的有:|、&、<、<=、>=、>、*
   e)expr同样只支持整数运算
  
   5)使用bc(可以进行浮点数计算)
   var=1
   var=`echo "$var+1"|bc`
   echo $var
   输出结果为2
   介绍:
   bc是linux下的一个简单计算器,支持浮点数计算,在命令行下输入bc即进入计算器程序,而我们想在程序中直接进行浮点数计算时,利用一个简单的管道即可解决问题。
   注意:
   1)经我测试bc支持除位操作运算符之外的所有运算符。
   2)bc中要使用scale进行精度设置
   3)浮点数计算实例
   var=3.14
   var=`echo "scale=2;$var*3"|bc`
   echo $var
   输出结果为9.42
  
   6)使用awk(可已进行浮点数计算)
   var=1
   var=`echo "$var 1"|awk '{printf("%g",$1*$2)}'`
   echo $var
   输出结果为2
   介绍:
   awk是一种文本处理工具,同时也是一种程序设计语言,作为一种程序设计语言,awk支持多种运算,而我们可以利用awk来进行浮点数计算,和上面bc一样,通过一个简单的管道,我们便可在程序中直接调用awk进行浮点数计算。
   注意:
   1)awk支持除微操作运算符之外的所有运算符
   2)awk内置有log、sqr、cos、sin等等函数
   3)浮点数计算实例
   var=3.14
   var=`echo "$var 2"|awk '{printf("%g",sin($1/$2))}'`
   echo $var
   输出结果为1
   3、总结
   终于把所有能搜集到的资料看完,并最后总结出一套自己的东西了,以后再遇到类似问题就有的看了,哈哈~

分享到:
评论

相关推荐

    shell学习日志总结

    从给定的文件信息中,我们可以提取到关于Shell脚本、Awk以及Sed的一些关键知识点,下面将详细解析这些内容: ### Shell 脚本基础 #### 变量读取与赋值 在Shell中,可以使用`read`命令从输入流中读取数据并赋值给...

    使用shell进行数学运算.docx

    总结来说,在Shell中进行数学运算时,如果只需要进行整数运算,可以使用`let`或`$[]`;对于浮点数和复杂运算,建议使用`$(( ))`或`bc`命令。`bc`尤其适用于需要高精度或进行特定数学函数运算的情况。了解这些方法后...

    Linux-shell脚本全面学习.pdf

    Linux Shell 脚本编程基础知识点总结 Linux 脚本编写基础 1.1 语法基本介绍 * `#!` 符号用来告诉系统它后面的参数是用来执行该文件的程序 * 在 Linux 中,使用 `/bin/sh` 来执行程序 * 编辑好脚本后,需要使其可...

    shell基础编程

    本文总结了 Shell 编程的基础知识点,包括基本脚本编译知识、创建脚本文件、显示消息、使用变量、数学计算、重定向输出、检查代码和 Shell 脚本的执行权限等。掌握这些知识点,可以帮助您更好地使用 Shell 脚本来...

    shell脚本项目总结37个

    在本文中,我们将深入探讨Shell脚本编程,这是Linux和Unix系统中一种强大的自动化工具。Shell脚本可以帮助我们执行一系列命令、操作文件、进行决策和逻辑控制,以及实现更复杂的任务。以下是对所提到的三个脚本项目...

    很好的Shell总结教程

    - **8.3.7 内置函数**:提供了丰富的内置函数库,用于进行数学计算、文本操作等。 - **8.3.8 I/O语句**:用于文件的读写操作。 - **8.3.9 printf语句**:用于格式化输出。 - **8.3.10 自定义函数**:允许用户定义...

    《linux_shell脚本攻略》学习总结

    本文基于《Linux Shell脚本攻略》的学习总结,探讨了几个关键知识点,包括shebang、echo与printf、颜色输出、进程环境变量查看、数学计算、标准输入输出及文件描述符。 1. **Shebang (#!)**: Shebang是脚本开头的...

    linux shell 简明教程.pdf

    - **算术运算**: 使用`$((expression))`进行整型变量的数学计算。 - 示例: `let result=10+5` 或者 `result=$((10+5))` - **算术扩展**: 在表达式中使用变量时,可以直接在括号内使用变量名,而无需使用`$`。 **6....

    shell programming

    3. 操作符与函数: Awk支持算术、关系和逻辑操作符,以及字符串处理和数学函数,如`length()`计算字符串长度,`split()`分割字符串。 4. 控制结构: Awk有`if...else`、`for`、`while`和`do...while`循环,以及`...

    数值运算shell脚本

    在IT领域,尤其是在系统管理和自动化任务中,Shell脚本是一种非常实用的工具。本文将深入讲解如何使用...在实际的系统管理或自动化任务中,这样的脚本可以极大地提高工作效率,特别是在需要进行复杂数学计算的场景下。

    Shell脚本专家指南

    #### 第11章 shell中的数学 - **expr**:介绍了一个用于基本算术运算的命令。 - **bc**:讲解了如何使用bc进行更复杂的数学运算。 - **de**:介绍了一个用于浮点数运算的命令。 #### 第12章 cron - **crontab条目**...

    Shell脚本编程中常用的数学运算实例

    ### Shell脚本编程中常用的数学运算实例 在Shell脚本编程中,数学运算是非常基础且重要的部分。本文将详细介绍Shell脚本中的基本数学运算,包括加减乘除以及更高级的功能,例如判断一个数是否为质数或偶数。 #### ...

    DC.zip_DC shell_Linux dc

    在Linux环境下,DC shell可以用于编写自动化计算脚本,这对于系统管理员、软件开发者,尤其是那些需要进行大量数学计算的人来说非常有用。DC shell支持反向波兰表示法(RPN),这是一种没有括号的计算方式,使得...

    Linux Shell脚本系列教程(五):数学运算

    总结来说,Linux Shell脚本提供了多种方式进行数学运算,包括let、(())和[]操作符,expr命令以及bc工具。在实际使用中,需要根据具体需求选择合适的方法,特别是在涉及浮点数计算时,bc通常是最佳选择。理解并熟练...

    高等数学总结与例题讲解

    定积分作为高等数学微积分部分的重要组成部分,其理论基础和计算方法是考研复习的重中之重。定积分的概念涉及到了积分区间和被积函数的有限性和有界性,其值与积分变量的选取无关,体现了积分的不变性。在几何意义上...

    Linux(shell/bash)的脚本教程

    虽然Bash本身不支持复杂的数学运算,但可以借助`expr`命令或者使用`let`来进行基本的数学计算。例如: ```bash #!/bin/bash # 计算两个数字的和 NUM1=5 NUM2=3 RESULT=$(expr $NUM1 + $NUM2) echo "The sum is: $...

    cshell 文档

    Cshell,因其与C编程语言相似的结构和符号而得名,是Unix系统及类Unix操作系统(如Linux)中的一种交互式外壳程序(shell)。它由贝尔实验室的Bill Joy在1982年为BSD Unix开发,旨在提供一种更强大的命令解释器。C...

Global site tag (gtag.js) - Google Analytics