2012年9月9日星期日

打印自身的 CGI 脚本

有的时候在网络上面分享一个文本,是 UTF-8 编码,可惜浏览器默认用 ISO-8859-1 或者 GBK 来解码,这个时候可以把以下两行放在文本最前面,赋予文本可执行权限,并允许服务器执行 CGI:
#!/bin/bash
if [ "$HTTP_IF_MODIFIED_SINCE" ];then if [ "$(date -u -d "$HTTP_IF_MODIFIED_SINCE" +%s)" -ge "$(stat -c %Y "$0")" ];then echo 'Status: 304 Not Modified';echo;exit 0;fi;fi;echo 'Status: 200 OK';echo 'Content-Type: text/plain; charset=utf-8';echo "Last-Modified: $(date -R -u -d @$(stat -c %Y "$0"))";echo "Content-Length: $(tail -n +3 "$0"|wc -c)";echo;exec tail -n +3 "$0"