【发布时间】:2015-04-02 09:49:58
【问题描述】:
所以我在 bash 脚本中有一个 curl 命令:
#!/bin/bash
curl -s 'http://eamorr.com/?' -H 'Host: eamorr.com' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:36.0) Gecko/20100101 Firefox/36.0' --data-binary $'-----------------------------1024109981087242139340277850\r\nContent-Disposition: form-data; name="target"\r\n\r\n90210\r\n-----------------------------102410998108724213934027785--\r\n'
这对我来说很好。
现在,我想试试 90211,而不是 90210
#!/bin/bash
postcode=90211
curl -s 'http://eamorr.com/?' -H 'Host: eamorr.com' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:36.0) Gecko/20100101 Firefox/36.0' --data-binary $'-----------------------------1024109981087242139340277850\r\nContent-Disposition: form-data; name="target"\r\n\r\n'$postcode'\r\n-----------------------------102410998108724213934027785--\r\n'
这行不通……
我认为这与 --data-binary 字符串前面的 $ 有关?我尝试删除 $,但它不起作用。
我试过 $(postcode) 等都无济于事
【问题讨论】:
-
但解决方案与引号无关。解决方案(正如@choroba 所确定的)是制作字符串 C 样式的第二部分(我忽略了)。因此,您应该删除您的反对票。
-
不幸的是,除非编辑了问题,否则我不能删除我的反对票。我的道歉。
-
嗨@tipleee。我明白。谢谢你这么诚实。如果我遇到攻击性行为,我很抱歉。