189 8069 5689

shell中怎么实现四则运算-创新互联

本篇文章为大家展示了shell中怎么实现四则运算,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联建站是专业的惠农网站建设公司,惠农接单;提供网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行惠农网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

1.简单方法

代码如下:


$ b=$((5*5+5-3/2))
$ echo $b
29


在linux shell中,我们可以使用 $(()) 将表达式放在括号中,即可达到运算的功能。

2.其它方法:

用:expr 实现运算

代码如下:


$ expr 5 - 4
1


注意:将需要运算的表达式写入在expr 后面即可,保证 参数与运算符号中间有空格隔开。



类别语法说明
条件判断expr1 \| expr2如果 expr1 不是零或 null 则传回 expr1,否则传回 expr2。
expr1 \& expr2如果 expr1 及 expr2 都不为零或 null,则传回 expr1,否则传回 0。
四则运算expr1 + expr2传回 expr1 加 expr2 后的值。
expr1 - expr2传回 expr1 减 expr2 后的值。
expr1\* expr2传回 expr1 乘 expr2 后的值。
expr1 / expr2传回 expr1 除 expr2 后的值。
expr1 % expr2传回 expr1 除 expr2 的余数。
大小判断expr1 \> expr2如果 expr1 大于 expr2 则传回 1,否则传回 0。如果 expr1 及 expr2 都是数字,则是以数字大小判断,否则是以文字判断。以下皆同。
expr1 \< expr2如果 expr1 小于 expr2 则传回 1,否则传回 0。
expr1 = expr2如果 expr1 等于 expr2 则传回 1,否则传回 0。
expr1 != expr2如果 expr1 不等于 expr2 则传回 1,否则传回 0。
expr1 \>= expr2如果 expr1 大于或等于 expr2 则传回 1,否则传回 0。
expr1 \<= expr2如果 expr1 小于或等于 expr2 则传回 1,否则传回 0。
文字处理expr1 : expr2比较一固定字符串,即 regular expression。可以使用下列字符来辅助:

. 匹配一个字符。

$ 找字符串的结尾。

[list] 找符合 list 中的任何字符串。

* 找寻 0 个或一个以上在 * 之前的字。

\( \) 传回括号中所匹配的字符串。


3.浮点运算

代码如下:


$ expr 5.0 - 4
expr: non-integer argument
$ echo $((5.0-4))
-bash: 5.0-4: syntax error in expression (error token is ".0-4")


从上面运算结果,看来上面表达式,不足以支持浮点运算了 。 查阅资料才发现:bash 不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk 处理。

方法一:

代码如下:


[chengmo@centos5 ~]$ c=$(echo "5.01-4*2.0"|bc)
[chengmo@centos5 ~]$ echo $c
-2.99


方法二:

代码如下:


[chengmo@centos5 ~]$ c=$(awk 'BEGIN{print 7.01*5-4.01 }')
[chengmo@centos5 ~]$ echo $c
31.04


注:在shell 中$() 与 ``等效。 中间包含命令语句执行,返回执行结果。

上述内容就是shell中怎么实现四则运算,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


文章名称:shell中怎么实现四则运算-创新互联
网页地址:http://cdxtjz.cn/article/hpdgc.html

其他资讯