mist166 发表于 2005-5-16 16:50:32

请教shell用于CGI解码时的一个问题

用shell写一个CGI程序对提交的网页表单进行解码,如下所示:
#!/bin/sh
echo "Content-type:text/html"
echo ""
echo "<HTML><PRE>"
echo "Method : $REQUEST_METHOD"
echo "String : $QUERY_STRING"
printf "<HR>"
LINE='echo $QUERY_STRING | sed 's/&/ /g''

for LOOP in $LINE
do
NAME='echo $LOOP | sed 's/=/ /g '| gawk '{printf $1}''

TYPE='echo $LOOP | sed 's/=/ /g' | gawk '{printf $2}' | \
sed -e 's/%\(\)/\\\x/g' | sed 's/+/ /g''
printf "${NAME}=${TYPE}\n"
VARS='printf "${NAME}==\\${TYPE}\n"'
eval 'printf $VARS'
done
echo "<HR>"
echo "</PRE>"
echo "</HTML>"

为什么输出结果会是这样呢:
Method : GET
String : washer=start&submit=%CC%E1%BD%BB
------------------------------------------------------------------------------
------------------------------------------------------------------------------
2横线之间并没有显示提取的数据呢?
请各位大侠指教!谢谢!
页: [1]
查看完整版本: 请教shell用于CGI解码时的一个问题