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