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

 

bash中的数值运算

第一种,使用((表达式)): a=3 ((b=a+2) echo $b第二种使用let: let "c=$a+4" echo $c 第三种,使用expr表达式: d=`expr 4 + 3' ech...
  • rumswell
  • rumswell
  • 2013年08月03日 15:23
  • 7122

getopt/getopts:Bash中命令行选项/参数处理

1 echo foo="this is foo var" echo ${foo}s #this is foo vars 2 文件路径 basename /usr/local/share/doc/foo...
  • breeze_life
  • breeze_life
  • 2013年08月16日 11:43
  • 6021

Linux / Mac 下 基本的 bash shell 命令详解(完结版)

Linux / Mac 下 基本的 bash shell 命令详解前言本篇主要介绍了在Linux / Mac 系统下,一些基本的bash shell命令。遍历目录 cdcd destinationcd...
  • LL845876425
  • LL845876425
  • 2016年10月16日 16:03
  • 2121

[shell]shell运算(数字[加减乘除,比较大小],字符串,文件)

算术运算 首先这里所说的算术运算是指加法(+), 减法(-),乘法(*),整除(/), 求余(%)四种运算,可以通过添加括号改变优先级,并且只能对整数进行运算(Linux Bash Shell默认不支...
  • ouyangshima
  • ouyangshima
  • 2014年08月20日 11:22
  • 8742

Bash shell编程<七>:处理选项、getopt命令

找出选项 处理简单选项 使用shift和case来处理 #/bin/bash while [ -n $1 ] do case "$1" in -a) echo "found tha ...
  • MonroeD
  • MonroeD
  • 2016年01月14日 12:35
  • 348

Bash Shell中命令行选项/参数处理

0.引言    写程序的时候经常要处理命令行参数,本文描述在Bash下的命令行处理方式。    选项与参数:    如下一个命令行:  ./test.sh -f config.conf -v ...
  • xyw_Eliot
  • xyw_Eliot
  • 2013年11月21日 17:14
  • 1450

Bash Shell中命令行选项/参数处理

0.引言写程序的时候经常要处理命令行参数,本文描述在Bash下的命令行处理方式。选项与参数:如下一个命令行: ./test.sh -f config.conf -v –prefix=/home我们...
  • cckooo
  • cckooo
  • 2016年11月21日 14:27
  • 205

使用Bash Shell处理JSON文件

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

bash shell命令行选项与修传入参数处理

在编写shell程序时经常需要处理命令行参数,本文描述在bash下的命令行处理方式。 选项与参数: 如下命令行: 复制代码 代码如下:./test.sh -f config.conf -v –pr...
  • u012804178
  • u012804178
  • 2017年01月12日 12:34
  • 376

Bash Shell中命令行选项/参数处理

此文转自 http://www.cnblogs.com/FrankTan/archive/2010/03/01/1634516.html
  • mabinmt
  • mabinmt
  • 2014年06月08日 15:44
  • 145
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:bash,shell中处理小数
举报原因:
原因补充:

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