1、语法格式:

  第一种:expr $num1 operator $num2

  第二种:$(($num1 operator $num2))

2、expr 操作符:

注意:这里比较为true,返回 1。只支持整数。

3、实际使用,比较时必须有空格

在实际使用过程中,类似于“|” 这样的管道符号要进行转义,如下:

  num1=100

  num2=200  

  expr $num1 \| $num2

  expr $num1 \& $num2

  expr $num1 \< $num2

  expr $num1 \<= $num2

  expr $num1 \> $num2

  expr $num1 \>= $num2

  expr $num1 = $num2

  expr $num1 != $num2

   expr $num1 + $num2

  expr $num1 - $num2

  expr $num1 \* $num2

  expr $num1 / $num2

  expr $num1 % $num2

4、举例

  $ num1=30

  $ num2=50

  $ expr $num1 \| $num2

  打印出:30

  

  $ expr $num1 + $num2

  打印出:80

  $ num3=`expr $num1 \* $num2`     // 命令替换的形式

  $ echo $num3 

  打印出:1500

  

  对于 $(()) 这种操作,需要赋给一个值,并且里面的符号不用转义。  expr 会直接当成一个命令进行操作

  $ num3=$(($num1*$num2))

  $ echo $num3 

  打印出:1500

  注意:$(()) 进行运算只能进行 加、减、乘、除、求余 运算。

5、大练习

  提示用户输入一个正整数,然后计算 1+2+3+...+num 的值,并打印。 必须对num进行正整数判断,不符合要求,则给出提示,然后重新输入。

#!/bin/bash

#计算 +++...+num 的和,并且num 必须是正整数

while true
do
read -p "请输入一个正整数:" num # 判断是不是整数,如果不是整数,num + 运算会报错,$? 返回值就为2
expr $num + &> /dev/null if [ $? -eq ]; then
if [ `expr $num \> ` -eq ]; then
for((i=; i<=$num; i++))
do
sum=`expr $sum + $i`
done
echo "1+2+...+$num = $sum"
exit
fi
echo "输入的参数不是正整数"
else
echo "输入的参数不是一个整数"
fi
continue
done

  

最新文章

  1. 化茧成蝶,开源NetWorkSocket通讯组件
  2. HDU 4757 Tree 可持久化字典树
  3. hdu 4081 Qin Shi Huang&#39;s National Road System(最小生成树+dp)2011 Asia Beijing Regional Contest
  4. Wix installer: suppressing the License Dialog
  5. ISO15693标准详细介绍
  6. EntityFramework6.X之DataAnnotations
  7. Greenplum测试部署笔记
  8. python字典类型
  9. _proto_ &amp;&amp; prototype (原型 &amp;&amp; 原型链)
  10. 基于php5.5使用PHPMailer-5.2发送邮件
  11. js条件判断if-else和switch、循环for和while
  12. [IOS微信] PList文件解析,boost数据读取
  13. ios嵌套H5页面,出现的小bug;
  14. PHP开发框架比较
  15. js 时间操作积累
  16. Django Redis验证码 密码 session 实例
  17. Python爬虫学习1: Requests模块的使用
  18. ubuntu docker 安装
  19. windows下python安装Numpy和Scipy模块
  20. php操作Excel

热门文章

  1. MySQL 存储过程 if语句
  2. Python自学:第三章 动手试一试 3-4、3-5
  3. 另类AOP设计
  4. CF #552(div3)G 最小lcm
  5. EF中关于日期字值的处理
  6. 在mac os10.12上安装mysql5.7.18
  7. 关于a标签的用法总结
  8. 本地计算机上的 postgresql 服务启动后停止解决方法
  9. rpc概念及nfs的基本应用
  10. mysql5.7 for windows二进制安装及配置