2014-11-30 2 views
2

У меня есть очень простой сервер CGI питона на Linux с помощью следующего кода:Как запустить сценарий оболочки из простого CGI-сервера python?

#!/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. То, что я хочу сделать, это просто отобразить вывод этого сценария bash в браузере, когда я перехожу к localhost: 8000/example-bash.sh. Когда я пытаюсь, он просто открывает файл, а не запускает его.

пример-баш просто имеет следующий код:

#!/bin/bash 
echo "Content-type: text/html" 
echo '' 
echo 'CGI Bash Example' 

Как я могу сделать его запустить вместо этого?

ответ

1

Убедитесь, что сценарий оболочки является исполняемым.

chmod +x example-bash.sh 

DEMO

+0

Не работает для меня через светлячок. Вероятно, это сработало для вас, потому что вы уже находитесь в линии cmd. – user2997154

+0

@ user2997154, он работает и для меня в браузере (хром, firefox). – falsetru

+0

kk, я еще раз проверю – user2997154