Como executar o shell script do HTML?

1

Sou um pouco novo no Ubuntu Linux.

Eu preciso executar o script de shell a partir de um código html . Como eu li em algum lugar como usar Apache2 para gerar um html e de alguma forma eu consegui executar um arquivo sh de html, mas não consigo ver o prompt de comando que executa os comandos no script sh. Ele está sendo executado como um daemon.

Então, qualquer corpo pode me ajudar a torná-lo visível?

    
por suresh 26.09.2012 / 13:41

3 respostas

4

Esta é uma abordagem totalmente errada. O arquivo HTML não faz nada, é uma linguagem de marcação, que instrui o navegador a mostrar elementos diferentes. O que você precisa é um script PHP, ASP, CGI, etc que use o shell do sistema para executar comandos arbitrários.

    
por Frantique 26.09.2012 / 13:44
1

Quando você executa um script de shell como CGI, que é o que eu acredito que você está fazendo (ou tentando fazer), ele é executado a partir do daemon do servidor da web ou do apache e sua saída não é visível em nenhum lugar. Você pode redirecionar sua saída para um arquivo, por exemplo, substituindo o script original por um que execute o script e salve a saída:

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

(Você provavelmente também deve atualizar sua pergunta para mostrar qual é o seu objetivo, além do problema que você encontrou.)

    
por otus 26.09.2012 / 13:54
0

Você pode usar o perl-cgi para fazer isso. Dê uma olhada em

pacotes perl. Esses módulos ajudarão você a fazer conexões com o cliente.

Exemplo de script usando Net :: 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;

Você pode renderizar a saída deste programa usando cgi e exibi-lo no navegador.

Mas a limitação disso é que você não pode usar um shell interativo para executar seu comando.

    
por devav2 27.09.2012 / 03:17