Я хочу запустить bash script, когда на веб-сайте нажата кнопка. Это моя первая попытка:
<button type="button" onclick="/path/to/name.sh">Click Me!</button>
Но не повезло. Любые предложения?
Я хочу запустить bash script, когда на веб-сайте нажата кнопка. Это моя первая попытка:
<button type="button" onclick="/path/to/name.sh">Click Me!</button>
Но не повезло. Любые предложения?
Как указано Luke, вам нужно использовать серверный язык, например php. Это действительно простой пример php:
<?php
if ($_GET['run']) {
# This code will run if ?run=true is set.
exec("/path/to/name.sh");
}
?>
<!-- This link will add ?run=true to your URL, myfilename.php?run=true -->
<a href="?run=true">Click Me!</a>
Сохраните это как myfilename.php
и поместите его на компьютер с веб-сервером с установленным php. То же самое можно сделать с помощью asp, java, ruby, python,...
PHP, вероятно, самый простой.
Просто создайте файл script.php
, содержащий <?php shell_exec("yourscript.sh"); ?>
, и отправьте любого, кто нажимает кнопку до этого адресата. Вы можете вернуть пользователя на исходную страницу с заголовком:
<?php
shell_exec("yourscript.sh");
header('Location: http://www.website.com/page?success=true');
?>
Это действительно просто расширение ответа BBB, которое приводит к тому, что мой эксперимент работает.
Этот script будет просто создавать файл /tmp/testfile, когда вы нажмете на кнопку с надписью "Открыть Script".
Для этого требуется 3 файла.
Дерево файлов:
[email protected]:/var/www/html# tree testscript/
testscript/
├── index.html
├── testexec.php
└── test.sh
1. Основной веб-сайт:
[email protected]:/var/www/html# cat testscript/index.html
<form action="/testscript/testexec.php">
<input type="submit" value="Open Script">
</form>
2. Страница PHP, которая запускает script и перенаправляет обратно на главную страницу:
[email protected]:/var/www/html# cat testscript/testexec.php
<?php
shell_exec("/var/www/html/testscript/test.sh");
header('Location: http://192.168.1.222/testscript/index.html?success=true');
?>
3. script:
[email protected]:/var/www/html# cat testscript/test.sh
#!/bin/bash
touch /tmp/testfile
Здесь есть учебник. Это послужит хорошей отправной точкой -
http://www.cyberciti.biz/tips/executing-linuxunix-commands-from-web-page-part-i.html
Без проблем можно выполнять серверные скрипты в bash.
Вот еще один учебник: http://www.yolinux.com/TUTORIALS/BashShellCgi.html