所以我在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字符串前面的$有关?我尝试放弃$,但它不会起作用。
我试过$(邮政编码)等无济于事
答案 0 :(得分:2)
问题是你现在错误地引用了邮政编码后面的内容。 \r\n
不是用单引号解释的,您需要$'\r\n'
:
...'$postcode$'\r\n...
答案 1 :(得分:0)
#!/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"
使用引文是一种很好的做法,而"'$postcode'"
实际上是'90211'
而不是90211