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 '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

第1个回答  推荐于2017-11-25
autoreboot.sh: line 9: [0=1]: command not found
----
f [$LOAD_VULE=1]
这里错了,要改成
f [ $LOAD_VULE -eq 1 ]

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

linux shell中if 语句想要then后什么也不执行,关键词是什么?
当执行fd < 0的时候,exit(-1)直接退出程式,连break都没机会执行,下面就更没机会了。 你在任何时候执行exit, _exit, _Exit 这三个函式的任意一个,整个程序就直接退出了,没什么话可说。为什么if语句不执行啊 把你d==10);{中的;去掉 ...

linux,shell中if else if的写法,if elif
总结,shell脚本中处理多个条件的正确语法是使用if-elif-else结构,确保每个elif后面紧跟一个条件判断,而else则在所有条件都不满足时执行。

linux shell 用if语句出现missing错误
if 不能这样用的。下面脚本能完成你的任务:!\/bin\/sh mkdir abc find -name "*.txt" -exec cp {} .\/abc \\;

如何在 Shell 脚本中使用 If 语句 ?
在 Linux 环境的 Bash 脚本中,条件逻辑的核心工具是 if 语句。它用于检查一个条件是否为真,并据此决定执行相应的代码块。Bash 支持多种 if 语句形式,包括基本的 If、If-else、If-elif-else、嵌套 If 以及 Case 语句。逻辑运算符如大于、小于等,用于组合多个条件。例如,比较数字的简单 if 语句...

Linux shell编程,这个命令if [ $pid ]; then...。什么时候if条件判断...
只有当pid为空时,if条件才会为false。如果pid是程序获取的进程号,那么就是当进程存在时(pid不为空)为true,当进程不存在时(pid为空)为false。1、pid=""???if条件为false,如下面输出2:???pid=""???if?[?"$pid"?]???then ???echo?"1"???else ???echo?"2"???fi 2、pid=...

linux shell编程问题,程序循环体不执行
首先,你这里没有循环,只是条件判断的问题,第二你拷贝语句写错了。a是文件啊,b是文件夹啊,应该是cp $a $b\/$a要不然怎么能被执行呢,你的脚本我已经实际实验过了,如果你输入对的文件名,是不会总提示file not exit的。最后,写这脚本的人英语太差了。exit是退出的意思,不存在应该是exist ...

linux shell编程 if判断语句的判定条件
!\/bin\/bash a=$(grep '>' file | wc -l )if [ $a = 1 ];then 要执行的语句 fi

linux脚本if的判断条件linux脚本if
if信息比较表达式(命令行1 )else(命令行2 )这里的“信息比较表达式”的格式为“字符串1==字符串2”或“变量1==变量2”或“变量==字符串”的形式,也即是说只能使用“==”进行字符串或变量之间的比较,上面的“not”表示相反操作,不做多的解释,linux下c语言怎么调用shell脚本?两种方法比如调用if...

Linux | shell脚本-条件判断if和循环语句for
如与字符比较-z一起使用的例子,检查服务运行状态,未运行则启动服务的脚本运行test2.sh。同时存在多个条件判断的多分支结构如:if 条件判断1;then 条件1成立操作...elif 条件判断2;then 条件2成立操作...else 其他条件不成立时操作...fi 以奖品分类为例,根据分数确定不同的奖项,输入范围在0-...

linux shell 脚本中if语句的用法 在脚本中使用if if[! -w “$logfile...
if [ ! -w "$logfile" ]then echo "not writeable"echo "not writeable again"fi 注意空格,shell里面有的地方必须有空格,有的地方必须没有空格。[ ]前后都要有空格

相似回答