http://blog.csdn.net/zg_hover/archive/2006/11/17/1389650.aspx
1、由于头部写错了
(1)头部必须加上:
echo "Content-type: text/html" 的下面是跟正确的html网页格式,另外记住,此代码后要加一个空格,要不然头部就会错,应为shell是依次输出的。
(2)echo "Content-type: text/plain" 后面可以是任意格式,但也是要记住,其后面必须要有换行符,或是空格和要显示的内容隔开
2、没有赋予脚本正确的权限
用shell写的脚本正确的权限应该是755 即: -rwxr-xr-x
一个例程
#!/bin/bash
#echo "Location: /test1.htm" echo "content-type:text/html" echo ""
function ParamParse() {
LINE=`echo $1 | sed 's/&/ /g'`
for LOOP in $LINE
do NAME=`echo $LOOP | sed 's/=/ /g' | awk '{print $1}'`
TYPE=`echo $LOOP | sed 's/=/ /g' | awk '{print $2}'|/
sed -e 's/%/(/)x/g' | sed 's/+/ /g'` #printf "${NAME}=${TYPE}/n"
VARS=`printf "${NAME}=${TYPE}/n"`
#echo $VARS
eval `printf $VARS`
done
}
#echo "REQUEST_METHOD=$REQUEST_METHOD"
if [ "$REQUEST_METHOD" = "POST" ];
then QUERY_STRING=`cat -` fi
#echo $QUERY_STRING
ParamParse $QUERY_STRING
#这是把传递的参数已经解析出来了,可以通过$参数名来使用,例如有一个input的name=usrname,
#则其value为$usrname
echo "<br>name=$usrname;password=$pwd<br>"