运行时意外的文件结束

时间:2013-12-23 06:16:03

标签: linux bash shell debian

我有一个针对teamspeak服务器的小型崩溃检测脚本。唯一的问题是我不断收到有关文件意外结束的语法错误。我不确定我是否遗漏了我一直关注的所有指南。我也运行了dos2unix,因为我在windows上的sublime text 2中做了很多编码。

#!/bin/bash
TEAMSPEAK=`ps ax | grep ts3server_linux_amd64 | grep -v grep | wc -l`

if [ $TEAMSPEAK -eq 1 ]; then
exit

else
cd /home/ryahn/ts3

if [ -f ts3server.pid ]; then
rm -f ts3server.pid
echo "File here"
. ./home/minecraft/ts3/ts3server_startscript.sh start
fi

1 个答案:

答案 0 :(得分:2)

您错过fi外部if条件。

保持代码缩进以更好地理解它:

if [ $TEAMSPEAK -eq 1 ]; then
    exit
else
    cd /home/ryahn/ts3
    if [ -f ts3server.pid ]; then
       rm -f ts3server.pid
       echo "File here"
       . ./home/minecraft/ts3/ts3server_startscript.sh start
    fi
fi

顺便说一句,您可以使用pgrep缩短管道命令:

TEAMSPEAK=$(pgrep -f ts3server_linux_amd64|wc -l)