linux下的shell运算(加、减、乘、除)

标签: linuxshell运算加减乘除

2014-03-12 16:25 15127人阅读 评论(0) 收藏 举报

分类: linux(17)

((i=$j+$k)) 等价于 i=`expr $j + $k`

((i=$j-$k)) 等价于 i=`expr $j -$k`

((i=$j*$k)) 等价于 i=`expr $j \*$k`

((i=$j/$k)) 等价于 i=`expr $j /$k`

Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起来。

例:let “I = I + 1” 或 let i=i+1

算术运算符指的是可以在程序中实现加、减、乘、除等数学运算的运算符。Shell中常用的数学运算符如下所示。

— +:对两个变量做加法。

— -:对两个变量做减法。

— *:对两个变量做乘法。

— /:对两个变量做除法。

— **:对两个变量做幂运算。

— %:取模运算,第一个变量除以第二个变量求余数。

— +=:加等于,在自身基础上加第二个变量。

— -=:减等于,在第一个变量的基础上减去第二个变量。

— *=:乘等于,在第一个变量的基础上乘以第二个变量。

— /=:除等于,在第一个变量的基础上除以第二个变量。

— %=:取模赋值,第一个变量对第二个变量取模运算,再赋值给第一个变量。

在使用这些运算符时,需要注意到运算顺序的问题。例如输入下面的命令,输出1+2的结果。

echo 1+2

Shell并没有输出结果3,而是输出了1+2。在shell中有三种方法可以更改运算顺序。

— 用expr改变运算顺序。可以用echo `expr 1 +2`来输出1+2的结果,用expr表示后面的表达式为一个数学运算。需要注意的是,`并不是一个单引号,而是“Tab”键上面的那个符号。

— 用let指示数学运算。可以先将运算的结果赋值给变量b,运算命令是b=let 1 + 2。然后用echo$b来输出b的值。如果没有let,则会输出1+2。

— 用$[]表示数学运算。将一个数学运算写到$[]符号的中括号中,中括号中的内容将先进行数学运算。例如命令echo$[1+2],将输出结果3。

下面是一个shell程序实例,实现数学函数S=3(xy)+4x2+5y+6的运算。在程序中以位置变量的方式输入x与y的值。程序的编写步骤如下所示。

在主菜单中打开一个终端。在终端中输入“vim”命令打开VIM。

在VIM中按“i”键进入插入模式,然后输入下面的代码。

代码4-2 数学运算实例:\源文件\04\4.4.sh

#!/bin/bash

#4.4.sh

s=0 #定义一个求和变量,初值为0。

t=`expr$1**$2` #用expr改变运算顺序,求x的y次方。

t=$[t*3] #t乘以3。

s=$[s+t] #结果相加。

t=$[$1**2] #求x的平方。

t=$[t*4] #结果乘以4。

s=$[s+t] #结果相加。

t=`expr$2*5` #求5y的值。

s=$[s+t] #结果相加。

s=$[s+6] #结果加上6。

echo$s #输出结果。

echo$((a%b)) #取余

在这个程序中,需要注意算术运算的写法。如果没有expr或$[]更改运算顺序,则会将运算式以字符串的形式赋值,而不会赋值运算结果。

按“Esc”键返回到普通模式。然后输入“:w 4.4.sh”保存文件。

输入“:q”命令,按“Enter”键退出VIM。

在终端中,输入下面的命令对4.4.sh文件添加可执行权限。

chmod +x 4.4.sh

输入下面的命令运行程序。在命令中需要输入两个参数。

./4.4.sh 2 4

程序会完成S=3(xy)+4x2+5y+6的数学运算并输出结果,结果如下所示。

90

linux下的shell运算(加、减、乘、除

linux下的shell运算(加.减.乘.除 摘自:https://blog.csdn.net/hxpjava1/article/details/80719112 2018年06月17日 16:03: ...

Linux下的shell与make

Linux下的shell与make 一.shell 1.1 什么是shell ● 用户与Linux的接口 ● 命令解释器 ● 支持多用户 ● 支持复杂的编程语言 ● Shell有很多种,如:csh,t ...

shell 日期加减

shell 日期加减运算   比如今日是2012-04-22 $ date -d "+1 day" +%Y-%m-%d 2012-04-23   $ date -d "- ...

linux下的shell和脚本

1.各种Unix shell linux下的shell基本是从unix环境中的shell发展而来,贴一下wiki:其中我们常用的,可归类为Bourne Shell(/usr/bin/sh或/bin/s ...

[转] 关于linux下通过shell命令(自动)修改用户密码

Linux 减,linux下的shell运算(加、减、乘、除)相关推荐

  1. EDA技术与应用上机任务 电子信息类 Quartus II或Quartus Prime D触发器、半减器、全减器、可加减控制的50进制加减计数器。

    EDA技术与应用上机任务书 上机目的 熟悉掌握Quartus II或Quartus Prime开发工具的使用. 掌握利用硬件描述语言(Verilog)设计简单程序的步骤及方法. 掌握若干组合逻辑电路及 ...

  2. 同指数幂相减公式_同底指数加减运算法则

    直接是无法相加减的,可以将指数高的那个数分成两个同底指数的乘积,按照合并同类项的方式进行加减.比如22+2^1的3=22+2^1×22=(1+2^1)×22. 乘除法则 乘法:底数不变,指数相加:除法 ...

  3. python时间相减_python 计算时间差,时间加减运算代码

    1.方便的计算两个时间的差,如两个时间相差几天,几小时:import datetime d1 = datetime.datetime(2009, 3, 23) d2 = datetime.dateti ...

  4. c语言实现补码加减,C语言计算器含二进制数加减原反补码(自己的期末作业)

    用C++6.0编写的计算器,内含整数小数加减乘除.二进制数组加减及求原码补码反码! #include #include int main() { void top(); void no1(),no2( ...

  5. java 时间加减_java如何实现当前时间加减30分钟的方法

    java如何实现当前时间加减30分钟的方法 发布时间:2020-08-17 09:41:34 来源:亿速云 阅读:280 作者:小新 这篇文章主要介绍java如何实现当前时间加减30分钟的方法,文中介 ...

  6. html5+datatime加减,javascript实现日期按月份加减

    项目中需要用到,自己写了一个.javascript日期按月加减 function dateToDate(date) { var sDate = new Date(); if (typeof date ...

  7. linux下的shell运算(加、减、乘、除)

    关注微信公众号"虾米聊吧" 获取所有资料干货,每天更新技术干货,一起交流一起学习~ ((i=$j+$k))    等价于 i=`expr $j + $k` ((i=$j-$k))  ...

  8. linux循环目录下目录,Shell循环列出目录下所有文件或查找目录下包含指定字符串的文件...

    一.循环列出目录下所有文件 #!/bin/bash function frfile() { local basefolder=$1 echo $basefolder #local filename f ...

  9. matlab数组元素对应相减,MATLAB下矩阵的运算 看完你就知道了

    高等教育蓬勃发展,大学生处理实际问题的能力不断提升.大学数学实验必备软件MATLAB,是全球最著名的数学软件之一,现在已成为数学系学生必须掌握的软件,强大的数值运算功能在数学建模中效果突出.出类拔萃的 ...

最新文章

  1. PHP json_encode() 函数介绍
  2. 学习笔记——os模块常见列表
  3. Word 邮件合并中的域的格式的2个小定义
  4. 不属于mysql常量的是_R256是内部“字”继电器WR25的( )号位。_学小易找答案
  5. c语言程序中unit怎么定义,c ++中的一个定义规则(One definition rule in c++)
  6. wxWidgets:使用 wxWidgets 的示例控制台(与 GUI 相对)程序
  7. ogg replicat 进程 abend 处理
  8. ots在线考计算机的word,ots在线考试系统1(OTS online examination system 1).doc
  9. 消除代码中的坏味道,编写高质量代码
  10. 那年学过的Java笔记三核心类库一
  11. 排序周赛(no stl)
  12. python模块基础之OS模块
  13. react里 MD5加密
  14. Java Web图书管理系统总结(jsp+servlet+jdbc+javabean+dao)
  15. linux i2c模型 rtc模型 详细分析,Linux RTC驱动分析(一)----pcf8563驱动和class.c
  16. 为什么后端显示修改成功,但数据库的数据却没有改变
  17. Mac环境安装imagemagick及使用imagemagick拼接图片
  18. element-ui el-dialog拉伸
  19. 透明网关与透明防火墙
  20. 【基础】dB、dBm、dBc等概念的解释

热门文章

  1. 联通软件研究院笔试题1
  2. 申请人和审批人重复,怎么处理?
  3. 用友服务器系统版本低,用友数据库提示版本与服务器不兼容
  4. lumion8.0破解版安装教程
  5. 如何让浏览器的左上角显示自己的logo的小诀窍
  6. 别把自己变成了“二等公民”
  7. linux 清dns缓存,各操作系统清除DNS缓存的方法
  8. 关于正负数相除及取余问题
  9. 《CSS禅意花园》读后感
  10. 未明学院活动:领跑新年活动!寒假1个月,掌握券商/互联网/机器学习等七大热门行业实战技能!