У меня есть небольшой скрипт обнаружения сбоев для сервера teampeak. Единственная проблема заключается в том, что я продолжаю получать синтаксическую ошибку об неожиданном конце файла. Я не уверен, что я упустил что-то в этом из всех руководств, за которыми я слежу. Я также запускал dos2unix, так как я много знаю о кодировании в возвышенном тексте 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
Как в сторону, я думаю, что вы имеете в виду 'пс топор | grep -q '[t] s3server_linux_amd64' && exit' вместо первых пяти строк. Тогда вы больше не пропускаете 'fi'. См. [Бесполезное использование 'wc'] (http://partmaps.org/era/unix/award.html#wc). – tripleee
@ tripleee Я буду экспериментировать с ним. Прямо сейчас у меня есть отображение выражения эха, поэтому я знаю его работу. Я думаю, как только я знаю, что он работает правильно, я буду использовать ваше предложение и удалю первый оператор if – Ryahn
Тогда, по крайней мере, используйте 'grep -c' и потеряйте неприглядный двойной' grep'. – tripleee