启动.sh脚本,会读取日志文件第一行,然后进行判断,现在需要读取日志文件里面的最后一行信息然后判断,对脚本了解一点点,请问一下各位该如何实现啊 ,我想用tail -n -1 log/server.log去直接获取最后一行的信息,但是如何赋值判断呢
start()
{ whlie ture
do
test -s $logFile
if test $? -eq 0
then
echo "the fiile log/server.log" is address"
cat $logFile | while read line
do
echo "the line is [$line]"
test "$line" = "started"
if test $? -eq 0
then
echo " $[NAME]" successfully!"
exit 0
else
echo "$[NAME] Fail!"
exit 0
fi
done
break
else
slepp 2
continue
fi
done
}
以前的代码是这样
可以使用 tail 命令来实现,例如:
tail -n 1 log/server.log
该命令会读取日志文件 log/server.log 的最后一行信息。
然后可以将读取到的信息赋值给一个变量:
last_line=$(tail -n 1 log/server.log)
然后就可以使用该变量来进行判断了例如:
if [ "$last_line" == "started" ]; then
echo "$[NAME] successfully!"
else
echo "$[NAME] Fail!"
fi
在使用 tail 命令时,如果你想要读取倒数第二行,可以使用 tail -n 2,如果想要读取倒数第三行,可以使用 tail -n 3,以此类推。
在使用 if 语句时,注意使用两个中括号,否则会报错。
望采纳。