所以我在 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) 等,但没有成功
最佳答案
问题是您现在错误地引用了邮政编码后面的内容。 \r\n
不以单引号解释,您需要 $'\r\n'
:
...'$postcode$'\r\n...
关于linux - bash - 将变量添加到字符串内的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29409924/