あなたがやろうとしていることは、その方法では不可能です。
これには必ず2つの側面があることに注意してください。クライアント側とサーバー側です。スクリプトはクライアントコンピュータ上にあるのか、それともサーバ上にあるのか?
クライアント上にある場合:訪問者はHTMLのウェブサイトを見ているだけです。onClick
はJavaScript(または 他のスクリプト言語 )のみを起動することができますが、コンピュータ上に存在する任意のシェルスクリプトは起動できません。HTMLスクリプトはブラウザ上でしか実行できず、できることは限られています。最も重要なのは、あなたのコンピュータと対話することができないということです。
考えてみてください。ブラウザはファイルの開き方をどうやって知るのでしょうか?これはセキュリティ上の問題でもあると思いませんか?普通のウェブサイトがクライアントのコンピュータ上でスクリプトの実行を誘発してしまうのです。onClick('rm -rf /home/user')
のようなものがあったらどうでしょうか? クライアント上でコードを実行させたい場合は、Java アプレットを実行するという方法もありますが、これは完全に同じではないし、非常に複雑です。これについて詳しく説明する必要はないと思います。
スクリプトがサーバー上にある場合: サーバー側でスクリプトを実行して、ユーザーに実行をトリガーさせたい場合は、サーバー側のプログラミング言語を使用する必要があります。HTMLだけではできません。サーバーと対話したい場合は、例えば PHP .
.
.
を使用することができます。
これは、ウェブサーバに保存されているコマンドラインスクリプトを実行するための exec
関数を持っています。つまり、基本的にはexec('/path/to/name.sh');
と書けば、サーバー上でスクリプトを実行してくれます。
ただし、ここではこれをonClick
に入れるだけでは不十分です。まだPHPやサーバーサイドのWebプログラミングのことを知らない人は、まずチュートリアルをいくつか読んでから、より具体的な質問をしてみるといいかもしれません。
適切なexec(...)
コマンドを含むphpファイルがある場合、スクリプトの実行権限がユーザーだけでなく、ウェブサーバーが所属するグループにも設定されていることを確認してください、最も簡単な場合は777
だけです。
トラブルが発生した場合は、スクリプトの戻り値を echo exec(...);
でチェックしてエラーがないかどうかを確認してください。
php /path/to/file.php
でブラウザからではなくコマンドラインからスクリプトを実行することもできます。