Как запустить скрипт Shell из HTML?

Я немного новичок в Ubuntu Linux.

Мне нужно запустить скрипт оболочки из кода html. Когда я читал где-то, например, используя Apache2 для генерации html, и каким-то образом мне удалось запустить файл sh из html, но я не вижу командной строки, которая выполняет команды в скрипте sh. Возможно, он работает как демон.

Так может ли какое-нибудь тело помочь мне, как сделать его видимым?

1
задан 27 September 2012 в 07:49

3 ответа

Это совершенно неправильный подход. Файл HTML ничего не делает, это язык разметки, который инструктирует браузер, как показывать вам разные элементы. Вам нужен скрипт PHP, ASP, CGI и т. Д., Который использует оболочку системы для запуска произвольных команд.

0
ответ дан 27 September 2012 в 07:49

Можно использовать 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 и отобразить его в браузере.

Но ограничение этого было бы похоже на Вас, не может использовать интерактивную оболочку для выполнения команды.

0
ответ дан 27 September 2012 в 07:49

Когда вы запускаете сценарий оболочки как CGI, что, как я полагаю, вы делаете (или пытаетесь сделать), он запускается из демона apache или другого веб-сервера, и его выходные данные нигде не видны. Вы можете перенаправить его вывод в файл, например, заменив исходный скрипт на тот, который запускает скрипт и сохраняет вывод:

#!/bin/bash
./original.sh | tee --append file-to-save-to

(Возможно, вам также следует обновить свой вопрос, чтобы показать, какова ваша цель В дополнение к проблеме, с которой вы столкнулись.)

0
ответ дан 27 September 2012 в 07:49

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

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