`

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、总结
终于把所有能搜集到的资料看完,并最后总结出一套自己的东西了,以后再遇到类似问题就有的看了,哈哈~


详细出处参考:http://www.jb51.net/article/31232.htm
分享到:
评论

相关推荐

    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