LINUX.ORG.RU

Html-кнопка на выполнение bash-скрипта.

 , boa,


2

1

Доброго времени суток) Хочу жать в браузере на кнопочку и чтобы запускалась программа, например C++ исполняемый файл. Можно ли это сделать, если да, то как? Если есть какое-то элегантное решение - буду благодарен за совет.

p.s. я новичок в общении с Линуксом и с Bash'ем в частности. Возможно не понимаю каких-то простых вещей. Все крутится на сервере boa, который не хочет работать с php. Если есть альтернатива bash, это тоже вариант.

Ответ на: комментарий от beastie

На самом деле, можно еще с вебсокетами заморочиться. Но в данном случае достаточно элементарщины на баше.

Eddy_Em ☆☆☆☆☆
()

man CGI. Серверу вообще должно быть пофиг на чём твоя программа написана.

Kalashnikov ★★★
()

CGI; FastCGI; SCGI (если написать свою имплементацию на баше).

li43
()

поищи на youtube.com — это модно

sdio ★★★★★
()
Ответ на: комментарий от marvin_yorke

Господа, с настройкой сервака, взаимодействием cgi и bash минимально разобрался. Теперь мой скрипт выводит в браузер текст.

Однако не могу добиться от него запуска исполняемого файла С++ или любого другого процесса, пускай даже запуска какого нибудь midnight commander'a.

Соответственно пишу прогу на С++, компилю с помощью gcc. Даю ей chmod 755, кидаю в cgi-bin (пускай оттуда работает). Даю скрипту её адрес. В ответ - в браузере - молчание.

Что я делаю не так? Курить маны по cgi? Нужно направление движения.

Nikopol9
() автор топика
Ответ на: комментарий от Nikopol9

выкладывай скрипт. mc или что-либо другое, что в интерактивном режиме работает, ты и не сможешь запустить в силу принципов работы CGI

marvin_yorke ★★★
()
Ответ на: комментарий от Nikopol9

Выдать

"\nContent-type:text/html\n\n"
не забыл?

На тебе мою недопиленную до конца (вебсокеты не добавил) CGI-библиотечку. А вообще, их миллионы!

Eddy_Em ☆☆☆☆☆
()
Последнее исправление: Eddy_Em (всего исправлений: 1)
Ответ на: комментарий от marvin_yorke

Этим

#!/bin/bash
echo Content-type: text/html
echo ""
var/www/cgi-bin/hello
exit 0
Вызываю это. Лежит соот-о в var/www/cgi-bin/
/* hello.c */
#include <stdio.h>

int main (void)
{
	printf ("Hello World\n");
	return 0;
}
Банальщина конечно. Но не работает.

Понимаю, что читать маны надо побольше, но тотально не успеваю уже, ибо вечер пятницы - край. Очень хочется до конца недели закончить и сдать задачу. А в праздники спокойно заниматься самообразованием. Покурить инфу по cgi, bash. Подумать, как довести до ума.

Nikopol9
() автор топика
Ответ на: комментарий от Nikopol9

Если ты написал правду, то и не должно работать,
потому что не 'var/...', a '/var/...'.
Для отладки поставь первой же исполняемой
строкой в скрипте 'exec 2>&1'.

ABW ★★★★★
()
Ответ на: комментарий от ABW

Воистину ошибка новичка. Работает. Благодарю. Буду писать искомые сишные проги и проверять их работоспособность.

Nikopol9
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.