linux shell脚本为啥不能执行if命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux shell脚本为啥不能执行if命令相关的知识,希望对你有一定的参考价值。

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 'BEGINprint('"$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

参考技术A autoreboot.sh: line 9: [0=1]: command not found
----
f [$LOAD_VULE=1]
这里错了,要改成
f [ $LOAD_VULE -eq 1 ]

特别强调下,"["后面有空格,“]”前面有空格。本回答被提问者采纳

以上是关于linux shell脚本为啥不能执行if命令的主要内容,如果未能解决你的问题,请参考以下文章

一个linux shell脚本 为啥 不能自动退出呢

在shell脚本里使用cd命令为啥没有效果

Linux bash/sh/shell编程中的if语句应该怎么写

为啥linux 的 source命令在linux的脚本中没有作用 我使用了#!/bin/sh以及#!/bin/bash 都不好用

Linux Shell脚本的执行过程

linux上写了脚本,不能执行!求解答!