Lo que intentas hacer no es posible de esa manera.
Tenga en cuenta que siempre hay dos lados: el lado del cliente y el lado del servidor. ¿Está el script en la computadora del cliente o en el servidor?
Si está en el cliente: usted, como visitante, solo está viendo un sitio web HTML. onClick
solo podrá iniciar JavaScript (u otros lenguajes de script ), pero no cualquier script de shell arbitrario que resida en su computadora. Los scripts HTML solo se ejecutan en el navegador y solo pueden hacer cosas limitadas. Lo más importante, no pueden interactuar con su computadora.
Piénselo: ¿cómo sabría el navegador cómo abrir el archivo? ¿No cree que esto también sería un problema de seguridad, un sitio web simple que desencadena la ejecución de scripts en la computadora de un cliente? ¿Y si hubiera algo así onClick('rm -rf /home/user')
?
Una alternativa sería ejecutar un applet de Java, si desea que el código se ejecute en el cliente, pero esto no es exactamente lo mismo y es algo realmente complicado. No creo que sea necesario explicar esto en detalle.
Si la secuencia de comandos está en el servidor: si desea ejecutar una secuencia de comandos en el lado del servidor y hacer que el usuario active su ejecución, debe utilizar un lenguaje de programación del lado del servidor. Solo HTML no lo hará, porque es más o menos un archivo estático. Si desea interactuar con el servidor, podría usar, por ejemplo, PHP .
Tiene la exec
función de ejecutar un script de línea de comandos que se almacena en el servidor web. Básicamente, podría escribir exec('/path/to/name.sh');
y ejecutaría el script en el servidor.
Sin embargo, simplemente poner esto en onClick
aquí no es suficiente. Si aún no conoce PHP y la programación web del lado del servidor, es posible que desee leer algunos tutoriales primero y luego regresar con una pregunta más específica.
Si tiene un archivo php con el exec(...)
comando apropiado , asegúrese de que el script tenga permisos de ejecución establecidos no solo para el usuario sino también para el grupo en el que se encuentra el servidor web, así que en el caso más simple 777
.
En caso de problemas, compruebe el valor de retorno del script con echo exec(...);
para ver si hay algún error.
También puede ejecutar el script desde la línea de comandos y no desde el navegador con php /path/to/file.php
.