【问题标题】:How to run a shell script on a user machine after calling the script through url通过url调用脚本后如何在用户机器上运行shell脚本
【发布时间】:2012-05-22 11:49:43
【问题描述】:

我有一个名为 xyz.sh 的脚本,它使用 zenity。执行时会为用户提供一个选择菜单。问题是这是我们的队友 /home/dir 之一,它基于 nfs。 通常我们从终端运行path/xyz.sh。它会被执行。我试图把它作为一个 url 并且当用户调用它时应该运行脚本并弹出选择菜单。

示例:http://abc.com/xyz 应该在用户远程计算机上执行 xyz.sh。不在服务器上。

我不介意它是在 python 中还是在 cgi/php 中。


更新: 感谢分享链接。我已经在 Firefox 中尝试并创建了协议处理程序。如下所述。

首先打开about:config,然后我创建了一个外部协议。 network.protocol-handler.external.app.xyz.sh 并在字符串中提供了我的脚本路径/home/xyz/xyz.sh

但是,当我从浏览器 xyz 调用它时:它再次给我错误,因为“firefox 确实知道如何打开此地址。因为协议与任何程序都没有关联”。

请帮助我。提前致谢。

【问题讨论】:

    标签: php python bash shell shell-exec


    【解决方案1】:

    不可能在访问者计算机上运行任意脚本(原因很明显)。

    最好的方法可能是告诉用户安装一些软件,在浏览器中注册一个自定义协议,这样你就可以将用户引导到类似的东西

    pythonexec://abc.com/xyz
    

    如何做到这一点在其他 SO 帖子中进行了解释,例如这个:

    【讨论】:

    • 我忘记添加的另一件事是。所有用户机器都运行linux oses。默认情况下安装python2.6
    • 添加了另一个问题的网址。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 2018-08-15
    相关资源
    最近更新 更多