Запуск игрового сервера из bash без ожидания ввода

У меня есть простой скрипт, который принимает команды для запуска, остановки, перезапуска и возврата статуса игрового сервера (SA: MP). Сайт предоставляет решение для использования этой команды:

./samp03svr &

, которая работает все хорошо и прекрасно, однако, когда скрипт выполняет это, он держит и ждет ввода пользователя (нажатием ENTER), который затем продолжает выполнение скрипта.

Кажется, я не могу найти способ сохранить выполнение сценариев, не дожидаясь ввода пользователя. Я искал около 5 часов сейчас и попробовал по крайней мере 20 разных вещей, включая экран. Работающий экран работает просто не обеспечивает то, что я ищу. Сценарий также собирает идентификатор процесса сразу после этого, например, так:

mv ./server_log.txt ./logs/server_$NOW.txt
mv ./mysql_log.txt ./logs/mysql_$NOW.txt
./samp03svr <<< echo &
pid=$!
echo $pid > $pidf
echo -e "The server has been started successfully"

Сообщение, ожидающее возврата, выглядит так:

Started server on port: 7777, with maxplayers: 30 lanmode is OFF.

Сервер работает под управлением 64-разрядной версии Ubuntu 12.04.

Заранее спасибо.

1
задан 2 April 2014 в 19:42

3 ответа

Поскольку samp03svr выходной текст, необходимо перенаправить вывод к пустому указателю

 ./samp03svr > /dev/null 2>&1 &
0
ответ дан 2 April 2014 в 19:42

Можно попытаться записать newline символ (\n) к стандартному входу прежде, чем выполнить сервер.

Это - пример, которые пишут "нечто", и передает его по каналу к std.in следующей команды

echo  

Так в Вашем случае, который Вы могли сделать

echo  

пример заключения в кавычки Новой строки, взятый от здесь .

\n' | ./samp03svr

пример заключения в кавычки Новой строки, взятый от здесь .

foo' | while read x ; do echo $x ; done

Так в Вашем случае, который Вы могли сделать

echo  

пример заключения в кавычки Новой строки, взятый от здесь .

\n' | ./samp03svr

пример заключения в кавычки Новой строки, взятый от здесь .

0
ответ дан 2 April 2014 в 19:42

Можно ли вставить этот сценарий где-нибудь или часть сценария, где это пытается считать клавишу ENTER.

Также попытка это, принимая его ожидающий новой строки:

./samp03svr < < < echo &

0
ответ дан 2 April 2014 в 19:42

Другие вопросы по тегам:

Похожие вопросы: