Quello che state cercando di fare non è possibile in questo modo.
Notate che ci sono sempre due lati: Il lato client e il lato server. Lo script è sul computer client o sul server?
Se è sul client: Tu come visitatore vedi solo un sito HTML. onClick
sarà solo in grado di lanciare JavaScript (o altri linguaggi di scripting ), ma non qualsiasi script shell arbitrario che risiede sul tuo computer. Gli script HTML girano solo nel browser e possono fare solo cose limitate. La cosa più importante è che non possono interagire con il tuo computer.
Pensateci: Come farebbe il browser a sapere come aprire il file? Non pensate che anche questo sarebbe un problema di sicurezza - un semplice sito web che innesca l'esecuzione di script sul computer di un cliente? E se ci fosse qualcosa come onClick('rm -rf /home/user')
?
Un'alternativa sarebbe quella di eseguire un applet Java, se volete che il codice venga eseguito sul client, ma questo non è esattamente lo stesso ed è qualcosa di veramente complicato. Non credo sia necessario spiegarlo in dettaglio.
Se lo script è sul server: Se volete eseguire uno script sul lato server e fare in modo che l'utente ne attivi l'esecuzione, allora dovete usare un linguaggio di programmazione lato server. Solo l'HTML non lo farà, perché è più o meno un file statico. Se vuoi interagire con il server, potresti per esempio usare PHP .
Ha la funzione exec
per eseguire uno script da linea di comando che è memorizzato sul server web. Quindi, fondamentalmente, puoi scrivere exec('/path/to/name.sh');
e questo eseguirà lo script sul server.
Tuttavia, mettere solo questo in onClick
non è sufficiente. Se non conosci ancora PHP e la programmazione web lato server, potresti voler leggere qualche tutorial prima e poi tornare con una domanda più specifica.
Se hai un file php con il comando appropriato exec(...)
, assicurati che lo script abbia i permessi di esecuzione impostati non solo per l'utente ma anche per il gruppo in cui si trova il server web, quindi nel caso più semplice solo 777
.
In caso di problemi controllate il valore di ritorno dello script con echo exec(...);
per vedere se ci sono errori.
Potete anche eseguire lo script dalla linea di comando e non dal browser con php /path/to/file.php
.