我有一个CGI shell脚本,可以下载包列表。它会打印一些有关该过程的信息,然后开始运行它。完成后,它会显示作业的结果。
它完美无缺,但是,在完成此过程后,浏览器才会显示任何内容。是否有某种方法可以告诉浏览器加载已有的信息并紧紧抓住?
例如:
#!/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脚本时显示echo。
非常感谢任何帮助。
答案 0 :(得分:0)
您要求的是关闭输出缓冲。我不确定bash是否完全或如何禁用它,但我知道如果配置为压缩输出,apache将不会缓冲。添加包含以下内容的.htaccess文件:
BrowserMatch Mozilla no-gzip
看看它是否神奇地开始工作。如果没有,请回到绘图板。