如何在简单的CGI Python服务器上运行一个shell脚本?

5

我有一个非常简单的CGI Python服务器,在Linux上有以下代码:

#!/usr/bin/env python

import BaseHTTPServer
import CGIHTTPServer
import cgitb; cgitb.enable()  ## This line enables CGI error reporting

server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("", 8000)
handler.cgi_directories = ["/"]

httpd = server(server_address, handler)
httpd.serve_forever()

在相同的目录下,我有一个名为example-bash.sh的脚本。我的目标是在浏览器中导航到localhost:8000/example-bash.sh时,能够简单地显示该bash脚本的输出。但当我尝试时,它只是打开了文件而没有运行它。
example-bash仅具有以下代码:
#!/bin/bash
echo "Content-type: text/html"
echo ''
echo 'CGI Bash Example'

如何让它运行起来呢?

1个回答

3
请确保shell脚本可执行。
chmod +x example-bash.sh

DEMO


在 firefox 中对我没用。这可能是因为你已经在命令行中工作了,所以它能对你起作用。 - user2997154
@user2997154,这对我在浏览器中也有效(Chrome,Firefox)。 - falsetru
我下载了Chrome,在那里它可以工作,谢谢。但在Firefox中仍然无法工作。不确定为什么。 - user2997154

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接