Loading...
Обучение/Помощь новичкам | sh ошибка и непонятная
Всем доброго времени суток. сталкнулся с такой проблемой при запуске sh фаила содержимое которого
php
#!/bin/bash
for (( i=1; i <= 12; i++ ))
do
/usr/local/bin/php5.6 ~/site.ru/public_html/cron/test.php
sleep 30
done

выдает следующию ошибку
php
/bin/bash ~/site.ru/public_html/cron.sh

/home/a/тут пользователь/site.ru/public_html/cron.sh: line 2: syntax error near unexpected token `$'r''
/home/a/тут пользователь/site.ru/public_html/cron.sh: line 2: `for (( i=1; i <= 12; i++ ))
'

пробывал перед for убирать пробел и в скобках и та же ошибка. так же брал рабочие sh примеры и пробывал запустить как sh и нефига. если запустить не как сх а как пхп то выполнено но по какой-то причине не выполняеться каждые 12-30 сек. а если просто запустить как крон фаил без этой команды то выполняться будит ну каждую минуту то что мне не нужно
________
посл. ред. 04.03.2023 в 14:17; всего 1 раз(а); by 189350283
Если не получается с башем
То прогони свое выполнение скрипта в цикле с sleep
То есть, выполняется раз в минуту крон, но сам скрипт может хоть пока памяти не хватит
________
посл. ред. 04.03.2023 в 14:19; всего 1 раз(а); by Лара
Лара , ясно спасибо. но странно. на бегете sh вообще походу не выполняються. на спринхосте ставил такой же скрипт и все было отлично а тут вот сталкнулся с таким....
Лара , спасибо за совет. 3 боя с ботами провел и 3 боя точно через 30 секунд начались. думаю сработало! Сам я что-то не подумал об этом))
189350283 , такое происходит из-за dos-овго символа возврата каретки(\r),
чаще всего вызвано сохранением файла из стандартных windows-овских редакторов (вроде того же блокнота). исправляется любым редактором где этот символ можно убрать, например notepad++(правка/формат конца строк/преобразовать в unix (LF))
Попробуй так: https://disk.yandex.ru/d/FDSnkkZX5d4dug
пришлось на яндекс залить ибо тут пишет "Вы пытаетесь загрузить запрещенный тип файла"
steel97 , не. уже на двух хостигах пробывал и через терминал попробывал твой пример и та же ошибка ибо я нуб)) хотя у меня есть целый тикет с исправленным кодом каторый работал. а щас пробую его поставить по тикету когда он работал и не выходит
да вот кстати ошибка
php
'home/тут пользователь/cron.sh: line 2: `        for (( i=1; i <= 12; i++ ))
-bash: syntax error near unexpected token `('
[тут пользователь@vei ~]$ [тут пользователь@vei ~]$

это в терминале уже ошибка такая
steel97 , все спасибо теперь вроде все норм выполняеться каждые 10 секунд и бои начинаются через 10 сек.
сделал примерно так на спринтхосте
php
#!/bin/bash
for (( i=1; i <= 10; i++ ))
do
/usr/local/bin/php74 /home/a0875434/domains/site.ru/public_html/cron/cron.php
sleep 5
done

пользователя я тут естественно не своего вписал перед (home) а в планировщике изменил так
php
/usr/bin/sh /home/a0875434/cron.sh

а было так
php
/usr/bin/sh ~/home/a0875434/cron.sh

хотя до этого эту лямбу убирал и толку ноль было. теперь буду пробывать на бегете тоже самое проделать. ну то что помогло мне это твой код! ты правильно сказал там может быть для виндовс либо другое. а у меня было слеплено все кроме заданного путя. там пробел был а твой код тут сразу идут пробелы. так как я перепробывал за седня все и не че не помогло. а твой код вставил и только путь задал и лямбу убрал в планировщике и все стало как нада)
Онлайн: 1
Время:
Gen. 0.1088
(c) Bym.Guru 2010-2025