我有一个针对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
答案 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)