linux 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
分享到:
相关推荐
在本学习资料包中,包含了三本关于Linux Shell的重要书籍:《Linux Shell编程艺术》、《Linux Shell脚本攻略》以及《Linux Shell从入门到精通》,这些资源将帮助你全面深入地理解和掌握Linux Shell。 《Linux Shell...
Linux Shell 编程基础教程 本资源为 Linux Shell 编程基础教程,涵盖了 Linux Shell 编程的基础知识,包括语法基本介绍、变量、环境变量、Shell 命令和流程控制等。 一、语法基本介绍 在 Linux Shell 编程中,...
Linux Shell是Linux操作系统中不可或缺的一部分,它是一种命令行接口,允许用户通过文本命令与系统进行交互。Shell脚本则是编写的一系列命令,可以自动化执行一系列任务,极大地提高了工作效率。在这个"Linux Shell...
Linux Shell编程入门实例讲解详解 Linux Shell编程是Linux系统中一种非常灵活的工具,通过shell编程可以自动化大量的任务,especially适合那些易用性、可维护性和便携性比效率更重要的任务。下面是Linux Shell编程...
Linux Shell Scripting Cookbook(3rd) 英文mobi 第3版 本资源转载自网络,如有侵权,请联系上传者或csdn删除 查看此书详细信息请在美国亚马逊官网搜索此书
Proper usage of shell commands can easily solve many complex tasks with a few lines of code, but most linux users don't have the right know-how to use the Linux shell to its full potential. ...
Linux Shell脚本手册 - 第三版,. This book will take you through useful real-world recipes designed to make your daily life easier when working with the shell.
在IT行业中,Linux Shell编程是系统管理员和开发者必备的技能之一。它允许用户通过命令行接口与操作系统进行交互,执行自动化任务,大大提高工作效率。本文将深入探讨Linux Shell编写的基础知识,包括基本概念、常用...
《Linux Shell Scripting Cookbook 第二版》是一本系统讲解Linux Shell脚本编写方法的书籍,涵盖了超过110个实用的配方,用于解决真实世界中的Shell脚本问题。通过这些配方,读者可以学习到如何利用Shell脚本自动化...
根据提供的信息,我们可以推断这本书主要讨论的是Linux Shell的相关内容。由于给定的部分内容只包含了一个网站链接(www.linuxidc.com),我们无法从中直接提取到具体的知识点。因此,接下来将基于“Linux Shell”这...
Proper usage of shell commands can easily solve many complex tasks with a few lines of code, but most linux users don't have the right know-how to use the Linux shell to its full potential. ...
Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。Shell是一种命令行解释器,它提供了与操作系统交互的接口,允许用户执行系统命令、编写脚本并进行文件操作。本教程将深入探讨Linux Shell编程的经典...
Linux Shell 自动化运维课后习题答案 本文档提供了 Linux Shell 自动化运维课后习题答案,涵盖了 Linux Shell 编程、自动化运维等方面的知识点。 一、Shell 编程基础 1. Shell 变量:在 Shell 中,可以使用变量来...
Linux Shell是Linux操作系统中的一种命令解释器,它允许用户与操作系统内核进行交互,执行各种命令和脚本。shell不仅是一个程序,同时也是一种强大的程序设计语言。在Linux中,有多种类型的shell,如ash、bash、ksh...
Linux Shell 编程基础 Linux Shell 编程基础是 Linux 操作系统中一个非常重要的组件,它提供了一个交互式命令行界面,允许用户输入命令来执行各种操作。在 Linux 系统中,Shell 是一个命令解释器,它可以解释用户...
本书由浅入深、循序渐进地详细讲解了LinuxShell编程的基本知识。这些基本知识包括Shell编程的基本知识、文本处理的工具和方法、正则表达式、Linux系统知识等。 本书旨在通过理清Linux Shell编程的脉络,从基本概念...
Linux Shell编程是Linux系统管理与自动化任务处理的重要组成部分。Shell脚本可以理解为Linux环境下的批处理程序,它允许用户通过编写简单的命令序列来执行复杂的任务。这份"Linux Shell编程教材配套PPT"将帮助你深入...
Linux Shell编程是Linux系统中非常重要的一个环节,它是一种命令解释器,同时也是脚本编程语言。Shell编程使得用户可以通过编写脚本来自动化重复性任务,提高工作效率。这份"Linux Shell编程手册"将引领初学者深入...