Те, що ви намагаєтеся зробити, неможливо таким чином.
Зауважте, що для цього завжди є дві сторони: сторона клієнта та сервер. Чи сценарій на клієнтському комп'ютері чи на сервері?
Якщо клієнт: Ви як відвідувач бачите лише веб-сайт HTML. onClick
зможе запускати JavaScript (або інші мови сценаріїв ), але не будь-який довільний скрипт оболонки, який знаходиться на вашому комп’ютері. Сценарії HTML запускаються лише в браузері і можуть робити лише обмежені дії. Найголовніше, що вони не можуть взаємодіяти з вашим комп'ютером.
Подумайте: як браузер знав, як відкрити файл? Ви не вважаєте, що це також буде проблемою безпеки - звичайним веб-сайтом, який запускає виконання сценаріїв на комп'ютері клієнта? Що робити, якщо було щось подібне onClick('rm -rf /home/user')
?
Альтернативою було б запустити аплет Java, якщо ви хочете, щоб код виконувався на клієнті, але це не зовсім те саме, і це щось справді складне. Я не думаю, що це потрібно пояснювати детально.
Якщо сценарій знаходиться на сервері: Якщо ви хочете запустити скрипт на стороні сервера і змусити користувача запустити його виконання, вам потрібно використовувати мову програмування на стороні сервера. Просто HTML цього не зробить, оскільки це більш-менш статичний файл. Якщо ви хочете взаємодіяти з сервером, ви можете, наприклад, використовувати PHP .
Він має exec
функцію запуску сценарію командного рядка, який зберігається на веб-сервері. Таким чином, ви можете написати, exec('/path/to/name.sh');
і він запустив би сценарій на сервері.
Однак, просто вкласти це onClick
тут недостатньо. Якщо ви ще не знаєте про PHP та веб-програмування на стороні сервера, вам варто спершу прочитати кілька навчальних посібників, а потім повернутися з більш конкретним питанням.
Якщо у вас є файл php з відповідною exec(...)
командою, переконайтеся, що сценарій виконує дозволи, встановлені не тільки для користувача, але і для групи, на якій знаходиться веб-сервер, тому в найпростішому випадку просто 777
.
У разі виникнення неполадок перевірте повернене значення сценарію, echo exec(...);
щоб побачити, чи є помилки.
Ви також можете запустити скрипт з командного рядка, а не з браузера за допомогою php /path/to/file.php
.