SH скрипт для отсылки команды в игру

Vit_ amin

Добрая душа
Сообщения
1,552
Реакции
740
Всем привет.
Можно ли как то сделать .sh скрипт , чтобы он выполнял определённую команду через определённый интервал времени например каждые 30 секунд выполнялась команда say ....
P.S. Прошу прощение если тема как то не так оформлена или чего то в ней не хватает.
 

tiger_by

Гл. Админ SourceGames.RU
Сообщения
631
Реакции
278
Если в screen запущен сервер, то
C-подобный:
Actually it's quite simple. You can use the following:
  [code]screen -S sessionname -X stuff 'command'`echo -ne '\015'`
echo -ne '\015' emulates pressing the Enter key.

[/code]
 

ZloyMonah

Dark Guardian
Сообщения
479
Реакции
71
Что бы написать есть так сказать две "дырки" в сервер, скрин и rcon! мб еще есть что нить но я думаю что это все!!!
 

tiger_by

Гл. Админ SourceGames.RU
Сообщения
631
Реакции
278
Дружище, чтобы выполнить php скрипт, не обязательно его исполнять вебсервером. Ты можешь выполнить его и в консоли, можешь включить в свой баш скрипт.
 

Vit_ amin

Добрая душа
Сообщения
1,552
Реакции
740
Дружище, чтобы выполнить php скрипт, не обязательно его исполнять вебсервером. Ты можешь выполнить его и в консоли, можешь включить в свой баш скрипт.
Вот это уже вроде-бы как интересней просвяти пожалуйста ? :secret:
 

tiger_by

Гл. Админ SourceGames.RU
Сообщения
631
Реакции
278
PHP:
echo -e '<?php\necho "Hello, world!"\n?>' > test.php; chmod +x test.php; echo -e '#!/bin/bash\nphp test.php' > test.sh; chmod +x test.sh; ./test.sh
А по сути ты в баш скрипте выполняешь php скрипт в виде
C-подобный:
#!/bin/bash
php script.php
Были бы права на запуск.

З.Ы.: Используй screen - это лучший вариант.
 

Vit_ amin

Добрая душа
Сообщения
1,552
Реакции
740
PHP:
echo -e '<?php\necho "Hello, world!"\n?>' > test.php; chmod +x test.php; echo -e '#!/bin/bash\nphp test.php' > test.sh; chmod +x test.sh; ./test.sh
А по сути ты в баш скрипте выполняешь php скрипт в виде
C-подобный:
#!/bin/bash
php script.php
Были бы права на запуск.

З.Ы.: Используй screen - это лучший вариант.
Ясно спасибо а как использовать в screen цикл чтобы писало через команду say бесконечное кол-во текст.
 

tiger_by

Гл. Админ SourceGames.RU
Сообщения
631
Реакции
278
Если хочешь именно для say , то есть плагин advertiesment. А так используй что то типа
C-подобный:
#!/bin/bash
while true; do
  screen -S sessionname -X stuff 'command'`echo -ne '\015'`; sleep 30
done
 

Vit_ amin

Добрая душа
Сообщения
1,552
Реакции
740
Если хочешь именно для say , то есть плагин advertiesment. А так используй что то типа
C-подобный:
#!/bin/bash
while true; do
  screen -S sessionname -X stuff 'command'`echo -ne '\015'`; sleep 30
done
Мне просто кое что надо через say сделать и :)
tiger щас проверю отпишусь спс тебе =)

Добавлено через 20 минут
Странно написал в терминал ./avdert.sh ответ ->
bash: ./advert.sh: /bin/bash^M: bad interpreter: No such file or directory
Во общем я опробовал сделать вот такой код
screen -S classic -X stuff "say =)"
Не работает не пишет Console: =)
 
Последнее редактирование:

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Зачем SH? Есть прекрасный старый плагин Server Crontab - https://forums.alliedmods.net/showthread.php?p=523298 - Он все еще нормально работает.

bash: ./advert.sh: /bin/bash^M: bad interpreter: No such file or directory
Удали нафиг стандартный блокнот, поставь Notepad2 и выбери Line Endings - Unix (LF)

Кстати, меня еще интересует немного обратная вещь - можно ли как-то выполнить sh скрипт через PHP? (Веб сервер запускается от того же пользователя). Конкретно нужно килать процессы через PHP... Или как-то по-другому, но через web-сервер
 

Vit_ amin

Добрая душа
Сообщения
1,552
Реакции
740
Зачем SH? Есть прекрасный старый плагин Server Crontab - https://forums.alliedmods.net/showthread.php?p=523298 - Он все еще нормально работает.


Удали нафиг стандартный блокнот, поставь Notepad2 и выбери Line Endings - Unix (LF)

Кстати, меня еще интересует немного обратная вещь - можно ли как-то выполнить sh скрипт через PHP? (Веб сервер запускается от того же пользователя). Конкретно нужно килать процессы через PHP... Или как-то по-другому, но через web-сервер
А ты уверен что у меня Обычный блокнот я использую Notepad ++
Мне нужно это сделать именно через .sh скрипт
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Тогда в этом самом нотепаде++ поставь соответствующий параметр окончания строки... Либо через SSH открой файл mcedit'ом или чем-нибудь еще и удали ^M в конце каждой строки
 

Vit_ amin

Добрая душа
Сообщения
1,552
Реакции
740
Тогда в этом самом нотепаде++ поставь соответствующий параметр окончания строки... Либо через SSH открой файл mcedit'ом или чем-нибудь еще и удали ^M в конце каждой строки
Не совсем понимаю где этот параметр найти ...
 

tiger_by

Гл. Админ SourceGames.RU
Сообщения
631
Реакции
278
Твой скрин не выполняет потому что ты не дописал эмуляцию нажатия enter (читай первые посты)

Чтобы выполнить баш скрпт в пхп надо делать типа
C-подобный:
<?php
`bash script.sh`
?>
 

Vit_ amin

Добрая душа
Сообщения
1,552
Реакции
740
Твой скрин не выполняет потому что ты не дописал эмуляцию нажатия enter (читай первые посты)

Чтобы выполнить баш скрпт в пхп надо делать типа
C-подобный:
<?php
`bash script.sh`
?>
tiger а не мог бы ты скинуть полный код если не трудно я уже запутался ...
 
Сверху Снизу