NAME_LIST="web"
for NAME in $NAME_LIST
do
PID_NUM_SUM=`ps aux | grep $NAME | wc -l`
SYS_LOAD=`uptime | awk '{print $(NF-2)}'|sed 's/,//'`
LOAD_VULE=`awk 'BEGIN{print('"$SYS_LOAD"'>='"$SYS_LOAD_MAX"'?"1":"0")}'`
if [$LOAD_VULE=1] ;then
echo $(date +"%y-%m-%d %H:%M:%S") "killall $NAME" "(LOAD:$SYS_LOAD)" >> /tmp/autoreboot.log
kill -9 `ps -ef|grep 'platformdb.cfg' | awk '{print $2}'`
echo $(date +"%y-%m-%d %H:%M:%S") "start $NAME" "(LOAD:$SYS_LOAD)" >> /tmp/autoreboot.log
else
echo "$NAME very health!(LOAD:$SYS_LOAD)" > /dev/null
fi
done
执行为什么会报如下错误:
sh autoreboot.sh
autoreboot.sh: line 9: [0]: command not found
报错内容应该是:
autoreboot.sh: line 9: [0=1]: command not found
----
f [$LOAD_VULE=1]
这里错了,要改成
f [ $LOAD_VULE -eq 1 ]
特别强调下,"["后面有空格,“]”前面有空格。本回答被提问者采纳