我尝试使用for
脚本中的bash
循环使用wget下载内容:
当我不使用变量时,一切正常,当我将它分配给变量500 server error
时。这对我来说很奇怪,因为这只是复制粘贴。
我要做的是从循环i
中获取数字并将其粘贴到正文中。
这是我的代码:
#!/bin/bash
for i in {1..5}
do
STR="some_static_stuff_before"$i"some_static_suff_after"
echo $STR
wget -O ready/page$i.aspx --header="Host: www.something.com" --header="Pragma: no-cache" --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" --header="Accept-Language: en-en" --header="Accept-Encoding: gzip, deflate" --header="Content-Type: application/x-www-form-urlencoded" --header="Origin: http://something.com" --header="Connection: keep-alive" --header="User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11" --header="Referer: http://www.something.com/something.aspx" --header="Cookie: ASP.NET_SessionId=u5cmt0figi4bvs40a30gnwsa; __utma=20059042.38323768.1389369038.1389710153.1389780868.6; __utmb=20059042.2.10.1389780868; __utmc=20059042; __utmz=20059042.1389627823.2.2.utmcsr=something.com|utmccn=(referral)|utmcmd=referral|utmcct=/something.aspx" --post-data='"$STR"' http://something.com/something.aspx
done
当我将对象直接粘贴到--post-data
时,下载内容没有问题。
我已尝试过--post-data= "/"$STR/""
和--post-data='"$STR"'
,但仍无效。
答案 0 :(得分:0)
您单引引变量引用(除了双引号),这会阻止替换变量值。
而不是
--post-data='"$STR"'
使用
--post-data="$STR"