То, что ты пытаешься сделать, невозможно.
Обратите внимание, что всегда есть две стороны: Клиентская и серверная стороны. Сценарий находится на клиентском компьютере или на сервере?
Если он на клиенте: Вы, как посетитель, видите только 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
.