實現shell和html標簽混合的方式編寫代碼:
推薦 初始CGI ,看完大概之后,大概對cgi有個大體的印象。下面是編寫混合代碼的示例:
#!/bin/bash #index.cgi echo "Content-Type:text/html;charset=utf-8" echo echo '<html>' echo "<head>" echo "<title>" echo "hello world" echo "</title>" echo "</head>" echo "<body>" echo '<pre>' df -Th echo '<pre>' echo "</body>" echo "</html>"
瀏覽器訪問:
將上面代碼簡化一下:
#!/bin/bash #index.cgi echo "Content-Type:text/html;charset=utf-8" echo cat << AAA <html> <head> <title>hello world</title> </head> <body> <pre> AAA df -Th cat << AAA </pre> </body> </html> AAA
CGI環境變量
CGI的環境變量和PHP中的$_SERVER全局數組很類似,不信的話,你可以看一下:
#!/bin/bash #test-cgi echo "Content-Type:text/html;charset=utf-8" echo echo SERVER_SOFTWARE = $SERVER_SOFTWARE #服務器軟件 echo SERVER_NAME = $SERVER_NAME #服務器主機名 echo GATEWAY_INTERFACE = $GATEWAY_INTERFACE #CGI版本 echo SERVER_PROTOCOL = $SERVER_PROTOCOL #通信使用的協議 echo SERVER_PORT = $SERVER_PORT #服務器的端口號 echo REQUEST_METHOD = $REQUEST_METHOD #請求方法(GET/POST/PUT/DELETE..) echo HTTP_ACCEPT = $HTTP_ACCEPT #HTTP定義的瀏覽器能夠接受的數據類型 echo SCRIPT_NAME = $SCRIPT_NAME #當前運行的腳本名稱(包含路徑) echo QUERY_STRING = $QUERY_STRING #地址欄中傳的數據(get方式) echo REMOTE_ADDR = $REMOTE_ADDR #客戶端的ip
運行: