bash,shell中处理小数

原创 2004年07月07日 23:00:00

今天想写一个shell脚本,目的是监控load average,当load average高于7.5了,就重启resin。一直怀疑resin2.*的版本在高利用率下会使得java被锁死。因此系统很不稳定,但是尝试升级到resin3又需要改动线上的java代码,因为resin3对于java的要求更严格了。很多代码都不严格。因此暂时的替代办法是半个小时运行监控程序。

    但是写监控程序的时候又碰到问题了,shell处理小数我居然不会。我的脚本是这样的:

#!/bin/sh
A=`uptime|awk -F"," '{print $4}' |awk '{print $3}'`
B=7.50
C=`expr $A /> $B`
if [ $C -eq 1 ]
then
    /usr/local/resin/bin/restart.sh
    echo `date` >> /usr/local/resin/logs/monitor.log
fi

这样写至少可以正确表达我的意思。但是问题是我在写这段代码时想测试判断小数点的加减乘除却怎么也不行。

bash-2.03# expr 8.8 /+ 9.9
expr: non-numeric argument

郁闷,明天再研究研究!不过大小能比较就ok了,其他属于业余作业,呵呵!

 

后续:其实shell根本就无法处理小数,我现在将脚本修改如下,以免误导大家,真的太不好意思了:

#!/bin/sh
A=`uptime|awk -F"," '{print $4}' |awk '{print $3}'`
B=`echo $A |awk '$1>9 { printf($1); }'`
if [ "$B" = "$A" ]
then
      ......
fi

 

Linux学习4之shell脚本中的小数运算

1.awk hadoop@Mcnode1:~/cloud/adam/xubo/data/test20160310/test$ cat demical.sh #!/bin/bash echo `a...
  • bob601450868
  • bob601450868
  • 2016年03月15日 12:51
  • 3944

关于java中对小数的精确处理

java 中提供BigDecimal对小数的精确处理 a) 通常用到下面的方法: 保留两位小数, 四舍五入 setScale(int newScale, int roundingMode)...
  • wanghang88
  • wanghang88
  • 2016年11月04日 17:37
  • 2213

使用Bash Shell处理JSON文件

前言JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本文提供一个真实的测试用例需求,设计逻辑类似Makefil...
  • wsgzao
  • wsgzao
  • 2015年06月19日 15:59
  • 7625

JS小数加减乘除运算

/** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失。 * * @param num1加数1 | num2加数2 */ function numAdd(num1, num2) ...
  • leayefang
  • leayefang
  • 2017年06月16日 11:14
  • 444

高级Bash脚本编程指南(31):数学计算命令

高级Bash脚本编程指南(31):数学计算命令 成于坚持,败于止步 操作数字 factor 将一个正数分解为多个素数. root@ubuntu:~/resource/shell-stud...
  • xinyuwuxian
  • xinyuwuxian
  • 2013年06月22日 15:16
  • 2967

数字格式化,格式数字保留2位小数点,格式数字自定义保留n位小数点

//格式化数据 保留2位小数 function formatCurrency(num) { num = num.toString().replace(/\$|\,/g,''); if...
  • kongjiea
  • kongjiea
  • 2014年11月18日 15:40
  • 4233

JS小数点乘法除法问题详解

原文:http://www.jb51.net/article/47803.htm 一、用js计算 12.32 * 7  结果是多少?答案:86.24000000000001 为什么会...
  • lan861698789
  • lan861698789
  • 2016年03月09日 23:15
  • 1038

【Bash百宝箱】shell内建命令之冒号

在shell中,冒号“:”是一个内建(builtin)命令,格式如下:: [arguments]冒号命令本身没什么副作用,使用场景有限,一般用于参数扩展,有以下几种用法:${parameter:-wo...
  • iEearth
  • iEearth
  • 2016年09月19日 20:29
  • 1656

bash shell中expr命令下几种的使用

expr在linux中是一个功能非常强大的命令。通过学习做一个小小的总结。 1、计算字符串的长度。我们可以用awk中的length(s)进行计算。我们也可以用echo中的echo ${#string...
  • jixianqiuxue
  • jixianqiuxue
  • 2014年08月29日 09:08
  • 1026

关于保留小数点后几位数(C++/C)

转载自:http://www.cnblogs.com/krisdy/archive/2009/04/17/1438402.html       原作者刚刚做了一个杭电的题目,上面有个要求是输出时...
  • u012230199
  • u012230199
  • 2014年01月19日 23:29
  • 5954
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bash,shell中处理小数
举报原因:
原因补充:

(最多只允许输入30个字)