8

我需要以下简单 bash 脚本的帮助,其中变量i在运行时似乎没有被替换curl(导致错误)。

(这只是对实际脚本的简单抽象)

for i in {1..3}
do
  HTML=$(curl -s 'http://example.com/index.php?id=$i')
done;
4

2 回答 2

14

变量不会在单引号内替换。在这种情况下,您必须使用双引号:

for i in {1..3}; do
    HTML=$( curl -s "http://example.com/index.php?id=$i" )
done
于 2013-08-09T06:47:44.167 回答
0

来自http://tldp.org/LDP/abs/html/varsubn.html

将引用值括在双引号 (" ... ") 中不会干扰变量替换。这称为部分引用,有时也称为“弱引用”。使用单引号 (' ... ') 会导致按字面意思使用变量名,并且不会发生替换。这是完全引用,有时称为“强引用”。

一种

于 2013-08-09T06:51:27.923 回答