如何在通过url调用脚本后在用户计算机上运行shell脚本

时间:2012-05-22 11:49:44

标签: php python bash shell shell-exec

我有一个名为xyz.sh的脚本,它使用zenity.which,当执行时会给用户一个选择菜单。这是我们的队友/home/dir之一,它是基于nfs的。 通常我们从terminal.it运行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确实知道如何打开这个地址。因为协议与任何程序无关”。

请帮帮我。提前谢谢。

1 个答案:

答案 0 :(得分:1)

无法在访问者计算机上运行任意脚本(出于显而易见的原因)。

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

pythonexec://abc.com/xyz

如何做到这一点在其他SO帖子中有解释,例如: