我有一个TeamSpeak服务器的小崩溃检测脚本。唯一的问题是我一直收到一个关于意外文件结尾的syntaxt错误。我不确定我是否遗漏了我一直遵循的所有指南中的一些内容。自从我在windows上用sublime text 2编写了很多代码之后,我也运行了dos2unix。

#!/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

最佳答案

您缺少外部条件的afi
缩进代码以便更好地理解它:

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

顺便说一下,您可以使用if缩短管道命令:
TEAMSPEAK=$(pgrep -f ts3server_linux_amd64|wc -l)

关于linux - 运行时文件意外结束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20737982/

10-13 07:22