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 に答える