2010-10-28 137 views
0

我有一個下載軟件包列表的CGI shell腳本。它打印一些關於該過程的信息,然後開始運行它。完成後,它會顯示作業的結果。長進程shell腳本cgi?

它的工作原理非常完美,但是,在瀏覽器顯示完成後才顯示任何內容。有沒有什麼方法可以告訴瀏覽器加載已經擁有的信息並保持緊密?

例如:

 
#!/bin/bash 
echo -e "Content-type: text/html\n\n" 

wgetCom="wget --quiet" 

echo "<html><body><pre>"  

    echo "Downloding autoconf" 
    $wgetCom http://people.redhat.com/eblake/autoconf/autoconf-2.68.tar.bz2 

    echo "Downloding automake" 
    $wgetCom http://ftp.gnu.org/gnu/automake/automake-1.11.1.tar.bz2 

    echo "Downloding bash" 
    $wgetCom http://ftp.gnu.org/gnu/bash/bash-4.1.tar.gz 

    echo "Downloding binutils" 
    $wgetCom http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2 

    echo "Download is Done" 


echo "</pre></body></html>" 

我需要的是表現出回聲的,而過程中的shell腳本。

任何幫助將不勝感激。

回答

0

你要求的是關閉輸出緩衝。我不確定bash是否可以執行或如何禁用它,但是我確實知道apache在配置壓縮輸出時不會緩衝。添加.htaccess文件包含以下內容:

BrowserMatch Mozilla no-gzip 

然後看看它是否神奇地開始工作。如果沒有,返回到繪圖板。