开发者社区> 问答> 正文

shell脚本报integer expression expected?报错

# !/bin/sh
declare -a    slave_is
slave_is=($(/usr/local/mysql/bin/mysql -h192.168.6.0 -uroot -pb1364 -Dtest -e "select 'JH_Balance' ItemName,realbalance ItemValue from manage where Id=12" |grep JH_Balance |awk '{print $2}' ))
if [ "${slave_is[0]}" -lt 21122222222.22 ]
     then
    # echo "OK -slave is running"
echo ${slave_is[0]}
echo ${slave_is[2]}
    exit 0
else
     #echo "Critical -slave is error"
     exit 2
fi
上面这段代码执行的时候报错“./test.sh: line 5: [: 9056397.04: integer expression expected"     请问该如何修改?

展开
收起
爱吃鱼的程序员 2020-06-22 18:52:17 2194 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    改成:if  [ "${slave_is[0]}"  -lt  21122222222]

    试试。


    或者在awk里比较:

    slave_is=($(/usr/local/mysql/bin/mysql-h192.168.6.0-uroot-pb1364-Dtest-e "select'JH_Balance'ItemName,realbalanceItemValuefrommanagewhereId=12" |grep JH_Balance|awk '{print$2}'| awk'{print($1> 21122222222.22)?1:0}' ))


    2020-06-22 18:52:34
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
Spark SQL: Past, Present and Future 立即下载
Spark SQL:Past Present &Future 立即下载