3

我正在尝试将网址指向在 cgi 下运行的 bash 脚本。我搜索了一下,找到了这个链接。据我了解,这一行应该将变量与其值分开:

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命令我想要的效果。

如何分隔 url 值?

4

1 回答 1

2

您可以使用参数扩展,并且不需要sed.

echo "${QUERY_STRING##*=}"

要将变量设置为该值:

url=${QUERY_STRING##*=}
于 2012-07-05T17:41:49.690 回答