O que você está tentando fazer não é possível assim.
Observe que sempre há dois lados para isso: o lado do cliente e o lado do servidor. O script está no computador cliente ou no servidor?
Se estiver no cliente: Você, como visitante, só verá um site HTML. onClick
só poderá iniciar o JavaScript (ou outros idiomas de script ), mas não qualquer script de shell arbitrário que reside no seu computador. Os scripts HTML só são executados no navegador e só podem fazer coisas limitadas. Mais importante, eles não podem interagir com o seu computador.
Pense nisso: como o navegador saberia como abrir o arquivo? Você não acha que isso seria um problema de segurança também - um site simples que aciona a execução de scripts no computador de um cliente? E se houvesse algo como 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. Eu não acho que seja necessário explicar isso em detalhes.
Se o script estiver no servidor: Se você quiser executar um script no lado do servidor e fazer com que o usuário acione sua execução, será necessário usar uma linguagem de programação do lado do servidor. Apenas o HTML não faz isso, porque é mais ou menos um arquivo estático. Se você quiser interagir com o servidor, você pode, por exemplo, usar o PHP .
Ele tem a função exec
para executar um script de linha de comando armazenado na Web servidor. Então, basicamente, você poderia escrever exec('/path/to/name.sh');
e executaria o script no servidor.
No entanto, colocar isso em onClick
não é suficiente aqui. Se você ainda não sabe sobre PHP e programação web do lado do servidor, você pode querer ler alguns tutoriais primeiro e depois voltar com uma questão mais específica.
Se você tiver um arquivo php com o comando exec(...)
apropriado, certifique-se de que o script tenha permissões de execução definidas não apenas para o usuário, mas também para o grupo no qual o servidor da Web está, portanto, apenas 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 a partir da linha de comando e não do navegador com php /path/to/file.php
.