我对bash比较陌生,并且正在尝试这样做:

COMPARE2=$(tail -n 1 $LOGFILE)
echo "$COMPARE2"
if [ "$COMPARE" != "$COMPARE2" ]
  then
    echo "Server not responding, killing process..."
#   kill $(ps aux | grep 'craftbukkit.jar' | awk '{print $2}')
fi


本质上,如果COMPARE与COMPARE2不匹配,我希望它执行命令。如果相等,则什么也不做。

当前,COMPARE和COMPARE2不匹配,但是无论如何它都会执行回显“服务器无响应”。

我究竟做错了什么?谢谢!

最佳答案

!=表示“不相等”,因此您的代码在说的是:

如果比较不等于Compare2,则回显“服务器无响应,正在终止进程...”

您需要将!=更改为=以检查是否相等。 !=检查不平等。

关于linux - 我如何正确格式化此bash if语句?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21639890/

10-08 21:39