我们有一个制作RRD数据库的监控系统。我正在寻找从这个RRD文件为我们的HTML页面创建图表的最轻松的方法。所以我不想将它们存储在文件中。我正在尝试创建简单的BASH CGI脚本,它将输出图像数据,所以我可以这样做:
<img src="/cgi-bin/graph.cgi?param1=abc"></img>
首先,我正在尝试创建简单的CGI脚本,它会向我发送PNG图像。这不起作用:
#!/bin/bash
echo -e "Content-type: image/png\n\n"
cat image.png
但是当我将其重写为PERL时,它确实有效:
#!/usr/bin/perl
print "Content-type: image/png\n\n";
open(IMG, "image.png");
print while <IMG>;
close(IMG);
exit 0;
有什么区别?我真的很想在BASH做这件事。谢谢。
答案 0 :(得分:4)
缺少-n
开关输出第三个换行符,所以它应该是
echo -ne "Content-type: image/png\n\n"
或
echo -e "Content-type: image/png\n"
来自man echo
-n do not output the trailing newline