Quello che stai cercando di fare non è possibile in questo modo.
Nota 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 Web HTML. onClick
sarà solo in grado di avviare JavaScript (o altri linguaggi di scripting ), ma non qualsiasi script shell arbitrario che risiede sul tuo computer. Gli script HTML vengono eseguiti solo nel browser e possono fare solo cose limitate. Soprattutto, non possono interagire con il tuo computer.
Pensaci: come potrebbe il browser sapere come aprire il file? Non pensi che questo sarebbe anche un problema di sicurezza: un semplice sito Web che avvia l'esecuzione di script sul computer di un client? E se ci fosse qualcosa del genere onClick('rm -rf /home/user')
?
Un'alternativa sarebbe quella di eseguire un'applet Java, se si desidera eseguire il codice sul client, ma questo non è esattamente lo stesso ed è qualcosa di veramente complicato. Non credo sia necessario spiegarlo in dettaglio.
Se lo script si trova sul server: se si desidera eseguire uno script sul lato server e fare in modo che l'utente ne esegua l'esecuzione, è necessario utilizzare un linguaggio di programmazione lato server. Solo HTML non lo farà, perché è più o meno un file statico. Se vuoi interagire con il server, puoi ad esempio usare PHP .
Ha la exec
funzione di eseguire uno script da riga di comando archiviato sul server Web. Quindi, fondamentalmente, potresti scrivere exec('/path/to/name.sh');
ed eseguire lo script sul server.
Tuttavia, solo mettere questo in onClick
non è abbastanza qui. Se non conosci ancora PHP e la programmazione web lato server, potresti voler leggere prima alcuni tutorial e poi tornare con una domanda più specifica.
Se hai un file php con il exec(...)
comando appropriato , assicurati che lo script abbia le autorizzazioni di esecuzione impostate non solo per l'utente ma anche per il gruppo in cui si trova il server web, quindi nel caso più semplice 777
.
In caso di problemi, controlla il valore restituito dallo script echo exec(...);
per vedere se ci sono errori.
Puoi anche eseguire lo script dalla riga di comando e non dal browser con php /path/to/file.php
.