2010-10-31 88 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