gpt4 book ai didi

linux - 在 bash 中比较 float

转载 作者:太空宇宙 更新时间:2023-11-04 10:24:40 24 4
gpt4 key购买 nike

<分区>

在我用于服务器监控的自定义 bash 脚本中,它实际上强制我的 CentOS 服务器采取一些操作并在资源重载时间超过预期时提醒我,我收到以下错误

line 17: [: 5.74: integer expression expected *

现在根据定义,所有 iostat 结果都是 float ,而且我已经在我的 iostat 命令 (WAIT) 中使用了 awk 那么如何让我的 bash 脚本期望一个而不是整数?

** 值 5.74 表示当前的 iostat 结果

#!/bin/bash

if [[ "`pidof -x $(basename $0) -o %PPID`" ]]; then
# echo "Script is already running with PID `pidof -x $(basename $0) -o %PPID`"
exit
fi

UPTIME=`cat /proc/uptime | awk '{print $1}' | cut -d'.' -f1`
WAIT=`iostat -c | head -4 |tail -1 | awk '{print $4}' |cut -d',' -f1`
LOAD=`cat /proc/loadavg |awk '{print $2}' | cut -d'.' -f1`

if [ "$UPTIME" -gt 600 ]
then
if [ "$WAIT" -gt 50 ]
then
if [ "$LOAD" -gt 4 ]
then
#action to take (reboot, restart service, save state sleep retry)
MAIL_TXT="System Status: iowait:"$WAIT" loadavg5:"$LOAD" uptime:"$UPTIME"!"
echo $MAIL_TXT | mail -s "Server Alert Status" "mymail@foe.foe"
/etc/init.d/httpd stop
# /etc/init.d/mysql stop
sleep 10
# /etc/init.d/mysql start
/etc/init.d/httpd start
fi
fi
fi

CentOS 6.8 版(最终版)2.6.32-642.13.1.el6.x86_64

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com