O que você está tentando fazer não é possível dessa maneira.
Observe que sempre há dois lados: o lado do cliente e o servidor. O script está no computador cliente ou no servidor?
Se estiver no cliente: você como visitante está vendo apenas um site HTML. onClick
só poderá iniciar o JavaScript (ou outras linguagens de script ), mas não qualquer shell script arbitrário que resida no seu computador. Os scripts HTML são executados apenas no navegador e podem fazer coisas limitadas. Mais importante ainda, eles não podem interagir com o seu computador.
Pense nisso: como o navegador saberia abrir o arquivo? Você não acha que isso também seria um problema de segurança - um site simples acionando a execução de scripts no computador do cliente? E se houvesse algo assim onClick('rm -rf /home/user')
?
Uma alternativa seria executar um applet Java, se você quiser que o código seja executado no cliente, mas isso não é exatamente o mesmo e é algo realmente complicado. Não acho que seja necessário explicar isso em detalhes.
Se o script estiver no servidor: se você deseja executar um script no lado do servidor e fazer com que o usuário inicie sua execução, será necessário usar uma linguagem de programação do lado do servidor. Apenas o HTML não fará isso, porque é mais ou menos um arquivo estático. Se você deseja interagir com o servidor, pode, por exemplo, usar PHP .
Ele tem a exec
função de executar um script de linha de comando armazenado no servidor da web. Então, basicamente, você poderia escrever exec('/path/to/name.sh');
e executaria o script no servidor.
No entanto, apenas colocar isso onClick
não é suficiente aqui. Se você ainda não conhece o PHP e a programação da Web do lado do servidor, leia alguns tutoriais primeiro e depois retorne com uma pergunta mais específica.
Se você possui um arquivo php com o exec(...)
comando apropriado , certifique-se de que o script tenha permissões definidas não apenas para o usuário, mas também para o grupo em que o servidor da web se encontra, portanto, no caso mais simples 777
.
Em caso de problemas, verifique o valor de retorno do script com echo exec(...);
para ver se há algum erro.
Você também pode executar o script na linha de comando e não no navegador com php /path/to/file.php
.