2010-10-31 90 views
1

我有这样的bash脚本:猛砸CGI输出XML-RPC

#! /usr/local/bin/bash 
SCGI_SOCKET=unix:///tmp/rpc.socket 
echo -n rT $(rtxmlrpc system.client_version)/$(rtxmlrpc system.library_version) 
echo -n \ [$(rtcontrol -qosize \* | awk '{ SUM += $1} END { print SUM/1024/1024/1024 }') GiB loaded] 
echo -n , D:$(rtxmlrpc to_mb $(rtxmlrpc get_down_total)) MiB 
echo -n \ @ $(rtxmlrpc to_kb $(rtxmlrpc get_down_rate)) 
echo -n \/$(rtxmlrpc to_kb $(rtxmlrpc get_download_rate)) KiB/s 
echo -n , U:$(rtxmlrpc to_mb $(rtxmlrpc get_up_total)) MiB 
echo -n \ @ $(rtxmlrpc to_kb $(rtxmlrpc get_up_rate)) 
echo -n \/$(rtxmlrpc to_kb $(rtxmlrpc get_upload_rate)) KiB/s 

它运行良好,但它一旦离开它的完整。
我该如何强制它将结果全部“暂停”,因为它们应该是?

 # bash rt.sh > index.html

基本上,我通过cgi-bin目录访问此shell脚本:
它如果我输出到文件中,像这样工作正常。它的设置是正确的,但是当我访问这个脚本时,它会返回一个HTTP 500错误...我猜是因为在最后突然退出(即它不输出任何内容)。 我测试这个理论用简单的bash脚本这一点:

 
#! /usr/local/bin/bash 
echo "test" 

在我的浏览器...这意味着在cgi-bin这个输出“测试”是否正常工作,其我的主要bash脚本导致HTTP 500 。

感谢

+0

是否从Web服务器错误日志说什么? – HeMan 2011-02-24 21:16:04

回答

2

第一行后直接简单地补充一点:

echo "Content-Type: text/plain; charset=UTF-8" 
echo