1、语法格式

   方法一:expr $num1 operator $num2

        方法二:$(( $num1 operator $num2 ))

2、 expr操作符对照表

num1 | num2 :num1不为空且非0,返回num1;否则返回num2

num1 & num2 :num1不为空且非0,返回num1;否则返回0

num1 < num2 :num1小于num2,返回1;否则返回0

num1 <= num2 :num1小于等于num2,返回1;否则返回0

num1 > num2 :num1大于num2,返回1;否则返回0

num1 >= num2 :num1大于等于num2,返回1;否则返回0

num1 = num2 :num1等于num2,返回1;否则返回0

num1 != num2 :num1不等于num2,返回1;否则返回0

注:(1)以上比较操作符只支持整数进行比较,不支持浮点数的比较;

(2)在使用以上操作符除“等于和不等于”符号都需要反斜杠做转译。

(3)如果想比较两个数大小或相等时候,推荐使用expr命令不推荐"$(())"形式,因为有且情况是使用"$(())"结果是不正确的,如等于“=”。

提示:在shell变成过程中为了尽可能减少排错的复杂性,大家尽量使用这种出错可能性比较小的一些命令。

~ % num1=30;num2=50
# 注意1:expr中变量和操作符需要加空格,否则没有任何输出
~ % expr $num1>$num2
# 注意2:shell中 >为重定向符号,不做转译没有任何输出
~ % expr $num1 > $num2
# num1不大于num2,返回0
~ % expr $num1 \> $num2
0
~ % num1=100
# 重新赋值后,num1大于num2为真,返回1
~ % expr $num1 \> $num2
1
~ % expr $num1 \| $num2
100
~ % expr $num1 \& $num2
100

num1 + num2 :求和

num1 - num2 :求差

num1 * num2 :求积

num1 / num2 :求商

num1 % num2 :求余

注:以上都是算数运算符,*积运算符需要做转译。

~ % num1=17;num2=3
~ % expr $num1 + $num2
20
# 把运算的值赋值给第三个变量
~ % num3=`expr $num1 + $num2`
~ % echo $num3
20
~ % expr $num1 - $num2
14
~ % expr $num1 * $num2
expr: syntax error
# *积运算符需要做转译
~ % expr $num1 \* $num2
51
~ % expr $num1 / $num2
5
~ % expr $num1 % $num2
2
# 使用$(())形式进行运算
~ % num3=$(($num1+$num2))
~ % echo $num3
20
# 使用$(())形式,不可以进行等于和不等于数值比较
~ % num3=$(($num1=$num2))
zsh: bad math expression: lvalue required

Bash数学运算值expr相关推荐

  1. shell 数学运算

    数学运算之 expr expr操作符对照表 比较大小,只能对整数进行比较,需要加空格,linux 保留关键字要转义 num1=30 num2=50 expr $num1 \> $num2 查看上 ...

  2. 【Pytorch神经网络理论篇】 02 Pytorch快速上手(二)GPU与CPU张量切换+具有随机值的张量+张量的数学运算

    1 在GPU与CPU上定义张量 1.1 GPU与CPU的张量相互转化 import torch # 创建一个张量 a = torch.FloatTensor() # 将CPU上的张量在GPU所管理的内 ...

  3. linux命令行的操作符,如何在Linux命令行中进行基本的数学运算

    原标题:如何在Linux命令行中进行基本的数学运算 Linux bash或命令行允许您执行基本和复杂的算术和布尔运算.像expr,jot,bc和factor等命令可以帮助您找到复杂问题的最优数学解决方 ...

  4. shell脚本基础(环境变量、重定向、数学运算、退出脚本)

    一.使用环境变量 1.环境变量 所谓环境变量,就是用来存储有关shell会话和工作环境信息的特性,这项特性允许你在内存中存储数据,以便程序或shell中运行的脚本能够轻松访问到它们.这也是存储持久数据 ...

  5. linux+shell+整数计算器,Shell(())实现对整数进行数学运算

    双小括号 (( )) 是 Bash Shell 中专门用来进行整数运算的命令,它的效率很高,写法灵活,是企业运维中常用的运算命令. 注意:(( )) 只能进行整数运算,不能对小数(浮点数)或者字符串进 ...

  6. Shell脚本攻略03-使用shell进行数学运算

    概述 无论哪种编程语言都少不了算术操作,在这则攻略中,我们将会研究在shell中进行算术运算的各种方法. 理论知识 在Bash shell环境中,可以利用let. (( ))和[]执行基本的算术操作. ...

  7. apscheduler 脚本执行失败_Bash编程入门-3:数学运算及脚本

    说明:本文是对Vamei知乎文章<快速学习Bash>(https://zhuanlan.zhihu.com/p/32692644)一文的学习笔记,根据个人理解调整了内容顺序,补充了一些注释 ...

  8. Linux求平方脚本,Linux Shell脚本系列教程(五):数学运算

    这篇文章主要介绍了Linux Shell脚本系列教程(五):数学运算,本文讲解了使用let.(())和[]进行算术运算.使用expr进行算术运算.使用bc进行算术运算三种方法,需要的朋友可以参考下 在 ...

  9. 第二章 数学运算、数组、文字处理

    第二章 数学运算.数组.文字处理.md 知识要点 数学运算 数组的使用 seq tr sort uniq cut 等命令 数学运算 整数运算 常用的运算符 加法运算符:+ 减法运算符:- 乘法运算符: ...

最新文章

  1. C# winform combobox默认选中项方法
  2. 如何使用资源和样式调整控件外观
  3. Nmap源码分析(服务与版本扫描)
  4. Android开发工具之Android Studio---如何打JAR包
  5. oracle错误处理及实操-【INS-20802】
  6. The Moving Points
  7. 给std::string增加format函数
  8. C++工作笔记-对二级指针的进一步理解(函数的参数使用二级指针,从而操作原数据)
  9. Python机器学习:评价分类结果005precisoion-Recall的平衡
  10. 移植最新版libmemcached到VC++的艰苦历程和经验总结(上)
  11. Java车辆管理课程设计_车辆管理信息系统--Java课程设计.doc
  12. objectc foundation class hierachy
  13. python怎么安装re模块_python模块模块re
  14. 交互体验设计优秀的产品
  15. 国开电大 钢--混凝土组合结构 形成性考核1-4
  16. 看完就懂——MySQL备份与恢复
  17. 百度2012年新进本科技术类员工培训教材ajax篇
  18. 产品经理的修炼:怎样把梳子卖给和尚
  19. 00014__广州市来穗人员积分制服务管理申办指南
  20. 面试100题:TCP/IP的理解

热门文章

  1. 环信聊天记录的完整代码
  2. 轻松反编译C#的DLL
  3. tomcat 虚拟主机
  4. 一个牛人给我们的建议
  5. 【halcon每日一练】
  6. java 内存分配管理_JAVA实验操作系统内存管理-最优分配,最先分配,最坏分配算法...
  7. 常见测试函数图像及求解方法(一至四)
  8. java 无领导小组面试,2017JAVA经典基础面试题及答案
  9. 认识Opera浏览器
  10. 带动300亿元产能 良品铺子的产业观与胜利法