使用cgi下的bash删除字符串中的第一个字母

时间:2012-07-05 17:38:47

标签: string bash cgi

我正在尝试将网址发送到在cgi下运行的bash脚本。我搜索了一下,发现了这个link。根据我的理解,这一行应该将变量与其值分开:

USERNAME=`echo "$QUERY_STRING" | sed -n 's/^.*username=\([^&]*\).*$/\1/p' | sed "s/%20/ /g"

所以,读到sed,我得出结论,这条线应该足以满足我的需求:

url='echo "$QUERY_STRING" | sed "s/url=\(.*\)/\1/"'

输入

  

URL = www.web.address.com

但是,变量get是字符串:

  

回显“$ QUERY_STRING”| sed“s / url =(。*)/ \ 1 /”   如果我试图删除撇号,我得到一个空变量。请注意,如果我只是向echo命令我想要的效果。

如何分隔网址值?

1 个答案:

答案 0 :(得分:2)

您可以使用参数扩展,但不需要sed

echo "${QUERY_STRING##*=}"

将变量设置为该值:

url=${QUERY_STRING##*=}