【问题标题】:Execute shell commands from HTML how?如何从 HTML 执行 shell 命令?
【发布时间】:2011-09-20 17:28:44
【问题描述】:

在工作中,我经常在终端中执行一个很长的命令。它有 6 个变量,每次使用时我都必须更改它们。与其从文本文件复制和粘贴我的命令并手动更改变量,我试图想出一种简单的方法来创建一个允许我进行更改并执行它的 GUI。可能除了 HTML 之外还有其他解决方案。唯一的目的是能够方便地将参数传递给命令行。

我使用 Ubuntu 10.04 (Lucid Lynx)。

非常感谢您的建议。

【问题讨论】:

    标签: html unix ubuntu


    【解决方案1】:
    1. 运行服务器(Apache 很常见,Lighttpd 很小)。
    2. 创建form
    3. 用您选择的语言(我倾向于Perl)编写一个服务器端进程,该进程从表单接收数据,对其进行操作,然后将一个新的 HTML 文档传递给浏览器。

    【讨论】:

    • 太棒了!我正在使用 Ruby,但我绝对不是开发人员。能否请您给我一个关于如何编写服务器端进程的提示?
    • 链接中关于 CGI 的 cmets(标记为 Perl)适用于 Ruby 与任何其他语言一样多。 Ruby 还有其他在网络服务器下运行的方法,但我不太了解它们。 Rails 是一个流行的 Ruby Web 应用程序框架。
    【解决方案2】:

    我建议你编写一个带有输入变量的 shell 脚本。 然后你可以这样称呼它(示例):

    myScript.sh paramValue1 paramValue2 
    

    【讨论】:

    • 重点是我使用的参数每次都不一样。这就是我想创建一个方便的接口来传递它们的原因。
    • 我不太明白。无论如何,您都必须输入它们,不是吗?那么将它们输入网页或终端有什么区别?
    • 在网页上我可以使用复选框。
    【解决方案3】:

    从浏览器执行此操作的最简单方法可能是构建一个提交给 PHP 脚本的 HTML 表单。让 PHP 脚本关闭 $_POST 参数并执行它们。

    您可能会发现您的计算机已经在 Web 服务器中运行 PHP,或者它很容易安装和使用。

    【讨论】:

    • 谢谢天空!我在日常生活中使用 Ruby 和 Ruby on Rails。希望我能够在 Ruby 中找到替代方案。