Я немного новичок в Ubuntu Linux.
Мне нужно запустить скрипт оболочки из кода html
. Когда я читал где-то, например, используя Apache2
для генерации html
, и каким-то образом мне удалось запустить файл sh
из html, но я не вижу командной строки, которая выполняет команды в скрипте sh. Возможно, он работает как демон.
Так может ли какое-нибудь тело помочь мне, как сделать его видимым?
Это совершенно неправильный подход. Файл HTML ничего не делает, это язык разметки, который инструктирует браузер, как показывать вам разные элементы. Вам нужен скрипт PHP, ASP, CGI и т. Д., Который использует оболочку системы для запуска произвольных команд.
Можно использовать perl-cgi, делают это. Смотрите на
Пакеты жемчуга. Эти модули помогут Вам сделать соединения клиента.
Демонстрационный сценарий с помощью Сети:: telnet
use Net::Telnet ();
$t = new Net::Telnet (Timeout => 10,
Prompt => '/bash\$ $/');
$t->open("sparky");
$t->login($username, $passwd);
@lines = $t->cmd("who");
print @lines;
Можно представить вывод этой программы с помощью cgi и отобразить его в браузере.
Но ограничение этого было бы похоже на Вас, не может использовать интерактивную оболочку для выполнения команды.
Когда вы запускаете сценарий оболочки как CGI, что, как я полагаю, вы делаете (или пытаетесь сделать), он запускается из демона apache или другого веб-сервера, и его выходные данные нигде не видны. Вы можете перенаправить его вывод в файл, например, заменив исходный скрипт на тот, который запускает скрипт и сохраняет вывод:
#!/bin/bash
./original.sh | tee --append file-to-save-to
(Возможно, вам также следует обновить свой вопрос, чтобы показать, какова ваша цель В дополнение к проблеме, с которой вы столкнулись.)