Bash cgi输出xmlrpc

时间:2010-10-31 14:02:15

标签: bash cgi lighttpd

我有这个Bash脚本:

#! /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"

这在我的浏览器中输出“test”...这意味着cgi-bin工作正常,它的主要bash脚本导致HTTP 500。

由于

1 个答案:

答案 0 :(得分:2)

只需在第一行后直接添加:

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