linux – 在bash脚本中编码字符串的URL

前端之家收集整理的这篇文章主要介绍了linux – 在bash脚本中编码字符串的URL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个bash脚本,我试图提交一个post变量,但是wget将它视为多个URL我相信因为它不是URLENCODED …这是我的基本思想
MESSAGE='I am trying to post this information'
wget -O test.txt http://xxxxxxxxx.com/alert.PHP --post-data 'key=xxxx&message='$MESSAGE''

我收到错误并且alert.PHP没有得到post变量加上它很难说

无法解决
无法解决
无法解决尝试
.. 等等.

我上面的例子是一个简单的有点sudo示例,但我相信如果我可以对其进行url编码,它会通过,我甚至尝试过像:

MESSAGE='I am trying to post this information'
MESSAGE=$(PHP -r 'echo urlencode("'$MESSAGE'");')

PHP错误..任何想法?如何在没有PHP执行的情况下传递$MESSAGE中的变量?

解决方法

您希望$MESSAGE为双引号,因此shell不会将其拆分为单独的单词:
ENCODEDMESSAGE=$(PHP -r "echo urlencode(\"$MESSAGE\");")

猜你在找的Linux相关文章