1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Shell 使用 expr 进行数学运算

Shell 使用 expr 进行数学运算

时间:2019-07-10 08:29:46

相关推荐

Shell 使用 expr 进行数学运算

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#计算 1+2+3+...+num 的和,并且num 必须是正整数while truedoread -p "请输入一个正整数:" num# 判断是不是整数,如果不是整数,num + 1 运算会报错,$? 返回值就为2expr $num + 1 &> /dev/nullif [ $? -eq 0 ]; thenif [ `expr $num \> 0` -eq 1 ]; thenfor((i=1; i<=$num; i++))dosum=`expr $sum + $i`doneecho "1+2+...+$num = $sum"exitfiecho "输入的参数不是正整数"elseecho "输入的参数不是一个整数"ficontinuedone

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。