我需要一些关于以下简单bash脚本的帮助,其中变量i
在运行curl
时似乎没有被替换(导致错误)。
(这只是对实际脚本的简单抽象)
for i in {1..3}
do
HTML=$(curl -s 'http://example.com/index.php?id=$i')
done;
答案 0 :(得分:8)
变量不会在单引号内替换。在这种情况下,您必须使用双引号:
for i in {1..3}; do
HTML=$( curl -s "http://example.com/index.php?id=$i" )
done
答案 1 :(得分:0)
来自http://tldp.org/LDP/abs/html/varsubn.html
用双引号(“...”)括起引用值不会 干扰变量替换。这称为部分引用, 有时被称为“弱引用”。使用单引号('...') 导致变量名称按字面使用,而不是替换 会发生。这是完全引用,有时也称为 “强烈引用。”
A