`

linux shell 之数学运算

 
阅读更多

支持数学表达式运算是编程语言所提供的一项基本功能。但是在shell中,却显得没有其他语言中那么自然。

 

1、expr命令

     

    加法

$ expr 1 + 5
6


    乘法

    

$ expr 1 \* 5
5

 

    需要注意的是,数字与运算符之间需要预留空格,否则无法计算出结果。此外,*作为shell的通配符关键字,需要用\来转义

 

 

2、let命令

let命令能够将数学表达式结果运算出来,达到expr类似效果

#!/bin/bash
j=1
i=2
n=10
let m="$j+$i+$n"
echo $m


结果为13

 

3、使用$[]

   使用$[]可以运算表达式

   

$ echo $[1 + 5]
6

 

4、使用bc解决数学运算的整数限制

   bc是linux中内置的bash计算工具,可以直接使用命令bc来启动

 (1)简单使用

     

$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
12*3
36
2.34535*33
77.39655
scale=6
2.34535*33
77.39655
1/3
.333333
scale=8
1/3
.33333333
quit

 

    sacle用来设置计算结果的精度,quit是退出bc

 

(2)在脚本中使用bc

 

#!/bin/bash
var1=`echo " scale=5;3.66/5"|bc`
echo the result is $var1


结果:the result is .73200

 

 

    如果bc计算表达式过长,需要多行,可使用内联重定向技术

   

#!/bin/bash
var1=232
var2=22.36
var3=88.589
var4=71

var5=`bc<<EOF
scale=5
a1=($var1 * $var2)
b1=($var3 * $var4)
a1 + b1
EOF
`

echo the result is $var5


计算结果:the result is 11477.339

  

 

 

分享到:
评论

相关推荐

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

    Linux Shell脚本系列教程(五):数学运算 本文主要介绍了 Linux Shell 脚本系列教程(五):数学运算,涵盖了使用 let、(())和[]进行算术运算、使用 expr 进行算术运算、使用 bc 进行算术运算三种方法。 一、 ...

    LinuxShell编程基础教程.pdf

    Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍...这些命令可以帮助我们在 Shell 脚本中完成各种任务,例如文件操作、字符串处理、数学运算等。

    使用shell进行数学运算.docx

    在Linux环境中,Shell脚本是执行自动化任务的强大工具,它也支持进行基本的数学运算。在不同的场景下,我们可以选择不同的方法来进行计算。以下是几种在Shell中进行数学运算的方法: I. 使用`let`命令: `let`命令...

    Linux shell脚本攻略--数学运算.docx

    Linux shell 脚本攻略--数学运算 Linux shell 脚本攻略中有多种方法来进行数学运算,包括 let 指令、[] 方法、(()) 方法、expr 方法和 bc 方法。下面将详细介绍每种方法的使用和示例。 1、let 指令 let 指令可以...

    Linux-shell脚本全面学习.pdf

    + `expr`:进行数学运算 + `find`:搜索文件 + `tee`:将数据输出到标准输出设备和文件 + `basename`:返回不包含路径的文件名 + `dirname`:返回文件所在路径 + `head`:打印文本文件开头几行 + `tail`:...

    《Linux shell脚本全面学习》pdf版电子书

    - `expr`: 执行简单的数学运算。 - `find`: 在文件系统中搜索文件。 - `tee`: 将输入的数据写入到文件并同时输出到标准输出。 - `basename`: 返回文件的基本名称,去掉路径和后缀。 - `dirname`: 返回文件的...

    Linux shell编程 验证身份证号码(15/18)

    通过一系列逻辑判断和数学运算,确保了身份证号码的真实性,并能够解析出性别、出生日期和地址信息。 #### 脚本组成部分: - **Part0**: 数据初始化,定义数据库文件名`AreaDB.1st`和`AreaDB.2nd`用于后续地址信息...

    Linux Shell编程基础

    Linux Shell编程基础是掌握Linux系统管理和自动化任务执行的关键技能之一。本文主要介绍如何开始编写Shell脚本,如何处理注释,以及如何执行脚本。同时,我们还将深入探讨Bash中的各种变量,包括环境变量、位置变量...

    Linux shell编程文档

    3. **数学运算命令**:`expr`可以用来执行基本的算术运算。 此外,Shell还支持流程控制结构,包括条件判断(`if`语句)、循环(`for`、`while`)以及函数定义。 #### 四、常用Shell命令详解 - **echo**: 显示指定...

    Shell编程范例之数值运算-TinyLab原创.

    首先,该文档强调了Shell脚本在数值运算方面的一些限制,指出Shell本身主要进行整数运算,而复杂的数学运算则需要借助外部命令如expr, bc和awk等来完成。同时,Shell可以通过 RANDOM环境变量获得一个介于0到32767...

    unix与linux shell编程指南

    Awk可以处理字段分隔符,进行数学运算,甚至处理复杂的文本处理任务,是数据分析和报告生成的利器。 4. **第10章 Sed用法介绍**: Stream Editor(Sed)是流编辑器,常用于处理文本流的替换、删除、插入等操作。它...

    bash中的数学运算

    而在Linux或类Unix系统中,Shell提供了多种方式进行数学运算,包括`expr`、`bc`、`awk`、`perl`等工具。本文将详细介绍这些工具的基本使用方法以及它们之间的区别。 #### expr:基本的整数运算 `expr` 是一种简单...

    「linuxshell编程学习笔记shell运算符号和运算命令」.docx

    在Linux Shell编程中,运算符号和运算命令是核心概念,用于执行数学计算和逻辑操作。以下是关于这些主题的详细说明: **一、Shell运算符号** 1. **加法 (+)**: 使用`expr`命令进行加法运算,例如 `expr 43 + 21` ...

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

    在Linux Shell脚本编程中,数学运算是一项基本且重要的任务,尤其在自动化处理和系统管理中经常被用到。本文将详细阐述如何在Shell脚本中进行数学运算,包括使用let、(())、[]操作符,expr命令以及bc工具。 首先,...

    linux_Shell(脚本)编程入门_实例讲解详解.pdf

    Shell支持一些内置变量,如系统自动设定的变量,但处理数学运算时,需要借助外部程序如`expr`。在脚本中,还可以使用流程控制语句,包括条件语句(if...else)、循环语句(for、while)以及函数定义,实现复杂逻辑。...

    linuxshell脚本学习笔记.pdf

    `expr` 命令可以执行基本的数学运算,如加、减、乘、除等。`$[]` 语法可以执行更复杂的数学运算。 退出脚本 退出脚本可以使用 `$?` 变量来获取最后一条命令执行结束的退出状态。可以使用 `exit` 命令来指定一个退出...

Global site tag (gtag.js) - Google Analytics