当用作cgi-bin时,Bash脚本失败

时间:2016-03-14 18:30:32

标签: bash apache cgi cgi-bin

过去几天这个让我很生气。我有一个bash脚本,它在命令行运行时可以正常工作,但在被称为cgi-bin脚本时不起作用。

这是脚本:

#!/bin/bash
ID=''
echo Content-type: text/html
echo
echo "<html><head></head><body>"
NID=`date "+%N"$RANDOM`
BASE36=($(echo {0..9} {a..z}));
for i in $(bc <<< "obase=36; $NID")
do
    TMPID=`echo ${BASE36[$(( 10#$i ))]}`
    ID="$ID$TMPID"
    # echo "<p> Loop ID=$ID"
done
tempfile=`mktemp`
echo $ID > $tempfile

echo "<h1>BASE36 ID</h1>"
echo "<h1>ID = $ID</h1>"
echo -n "<h1>"
    cat $tempfile
    rm $tempfile
echo -n "</h1>"
echo "</body></html>"

从shell运行时,脚本会输出预期结果:

Content-type: text/html

<html><head></head><body>
<h1>BASE36 ID</h1>
<h1>ID = m9ykx0g4s</h1>
<h1>m9ykx0g4s
</h1></body></html>

但是当作为CGI-BIN脚本运行时,它不会输出预期的:

<html><head></head><body>
<h1>BASE36 ID</h1>
<h1>ID = </h1>
<h1>

任何人都可以帮忙吗?

0 个答案:

没有答案