用htmlbutton运行一个shell脚本
我想在网站上按下button时启动一个bash脚本。 这是我第一次尝试:
<button type="button" onclick="/path/to/name.sh">Click Me!</button>
但没有运气。 有什么build议么?
正如卢克说,你需要使用服务器端语言,如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的Web服务器上。 同样的事情可以用asp,java,ruby,python完成…
PHP可能是最简单的。
只需创build一个包含<?php shell_exec("yourscript.sh"); ?>
的文件script.php
<?php shell_exec("yourscript.sh"); ?>
并发送任何人点击button到目的地。 您可以将用户返回到带有标题的原始页面:
<?php shell_exec("yourscript.sh"); header('Location: http://www.website.com/page?success=true'); ?>
参考: http : //php.net/manual/en/function.shell-exec.php
这实际上只是BBB的答案的扩展,导致我的实验工作。
当你点击“打开脚本”button时,该脚本将简单地创build一个文件/ tmp / testfile。
这需要3个文件。
- 实际的HTML网站上有一个button。
- 一个执行脚本的php脚本
- 脚本
文件树:
root@test:/var/www/html# tree testscript/ testscript/ ├── index.html ├── testexec.php └── test.sh
1.主网页:
root@test:/var/www/html# cat testscript/index.html <form action="/testscript/testexec.php"> <input type="submit" value="Open Script"> </form>
2.运行脚本并redirect回主页面的PHP页面:
root@test:/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.脚本:
root@test:/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