Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: переменые в bash  (Прочитано 406 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ureech

  • Автор темы
  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
переменые в bash
« : 19 Июль 2014, 23:45:58 »
Здравствуйте. Пытаюсь запустить youtube-dl с php файла.В php из формы получаю $url. Пробовал

ob_start();     
    passthru('youtube-dl '.$url);   
    ob_end_clean();

Не работает. Записал эту команду в bash
#!/bin/bash
$url=`php "/home/nik/ubuntu2/www/components/videos/frontend.php"`
youtube-dl $url

тоже не работает. $url не передаётся. Подскажите как правильно сделать.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6013
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: переменые в bash
« Ответ #1 : 20 Июль 2014, 00:47:31 »
Что это за команда php? Покажите php --help
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ureech

  • Автор темы
  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: переменые в bash
« Ответ #2 : 20 Июль 2014, 00:51:00 »
nik@ubuntu2:~$ php --help
Usage: php [options] [-f] <file> [--] [args...]
   php [options] -r <code> [--] [args...]
   php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...]
   php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]
   php [options] -S <addr>:<port> [-t docroot]
   php [options] -- [args...]
   php [options] -a

  -a               Run interactively
  -c <path>|<file> Look for php.ini file in this directory
  -n               No php.ini file will be used
  -d foo[=bar]     Define INI entry foo with value 'bar'
  -e               Generate extended information for debugger/profiler
  -f <file>        Parse and execute <file>.
  -h               This help
  -i               PHP information
  -l               Syntax check only (lint)
  -m               Show compiled in modules
  -r <code>        Run PHP <code> without using script tags <?..?>
  -B <begin_code>  Run PHP <begin_code> before processing input lines
  -R <code>        Run PHP <code> for every input line
  -F <file>        Parse and execute <file> for every input line
  -E <end_code>    Run PHP <end_code> after processing all input lines
  -H               Hide any passed arguments from external tools.
  -S <addr>:<port> Run with built-in web server.
  -t <docroot>     Specify document root <docroot> for built-in web server.
  -s               Output HTML syntax highlighted source.
  -v               Version number
  -w               Output source with stripped comments and whitespace.
  -z <file>        Load Zend extension <file>.

  args...          Arguments passed to script. Use -- args when first argument
                   starts with - or script is read from stdin

  --ini            Show configuration file names

  --rf <name>      Show information about function <name>.
  --rc <name>      Show information about class <name>.
  --re <name>      Show information about extension <name>.
  --rz <name>      Show information about Zend extension <name>.
  --ri <name>      Show configuration for extension <name>.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6013
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: переменые в bash
« Ответ #3 : 20 Июль 2014, 12:16:29 »
И какой результат выполнения командыphp -f "/home/nik/ubuntu2/www/components/videos/frontend.php"
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: переменые в bash
« Ответ #4 : 20 Июль 2014, 12:27:50 »
ureech, стоит начать с того, работает ли из вашего скрипта
youtube-dl "тут_конкретный_URL"

Оффлайн ureech

  • Автор темы
  • Участник
  • *
  • Сообщений: 179
    • Просмотр профиля
Re: переменые в bash
« Ответ #5 : 20 Июль 2014, 13:52:49 »
Да, вы правы, стоило начать с этого, но вчера всё работало, а сегодня и с терминала не работает.Хрень какая то. Может забанили, пока настраивал? Попробую всё удалить и начать по новой.Вчера, поставил утилиту сначало на десктоп,проверил, работает. Ставлю на сервер не работает. До этого апгредился. Перезагрузился, апдейт, заработало. Сегодня всё по новой. И главное на каком то этапе, работало,( нашёл в папке в компоненте скаченный ролик ). Попобую переустановить.

Пользователь решил продолжить мысль [time]20 Июль 2014, 14:30:26[/time]:
Видно дело в сервере.Вероятно после вчерашнего обновления что то пошло не так. Ни апгрейд не апдейт не выполняются.
  Не удалось найти IP-адрес для «ru.archive.ubuntu.com»
рядом стоит такойже сервер, на нём всё работает. Буду на нём пробовать запустить с php файла youtube-dl, а потом посмотрим.


Пользователь решил продолжить мысль 20 Июль 2014, 17:34:45:
Настроил на другом сервере. В таком виде if($do_file == 'add'){
   if (cmsCore::inRequest('uri')){
     $url = isset($_GET['uri']) ? trim($_GET['uri']) : '';
    ob_start();     
    exec('youtube-dl '.$url );   
    ob_end_clean();
}
}
работает, а вот в таком if($do_file == 'add'){
   if (cmsCore::inRequest('uri')){
     $url = isset($_GET['uri']) ? trim($_GET['uri']) : '';
    ob_start();     
    exec('/home/evgeny/file.sh' );   
    ob_end_clean();
}
}
не хочет.

file.sh #!/bin/bash
url=$(/usr/bin/php /home/evgeny/video/www/components/videos/file.php)
youtube-dl $url
« Последнее редактирование: 20 Июль 2014, 17:34:45 от ureech »

 

Страница сгенерирована за 0.091 секунд. Запросов: 24.