このエクスポートを使用するとカールが失敗するのはなぜですか?

このエクスポートを使用するとカールが失敗するのはなぜですか?

私は現在FacebookのFQLでいくつかのことをしていますが、curlコマンドラインでいくつかの応答をテストしています。また、export編集を容易にするためにパラメータを分離するためにも使用されます。しかし、私は何か間違っていますが、何が見えません。

これにより、完璧な結果が得られます(エクスポートした場合でも)。

export FB_TOKEN="the_access_token"
curl -F access_token=$FB_TOKEN -F query="SELECT first_name FROM user WHERE uid=12345678910123" https://api.facebook.com/method/fql.query

しかし、これは本当に混乱です。

export FB_TOKEN="the_access_token"
export FB_QUERY="SELECT first_name FROM user WHERE uid=12345678910123"
curl -F access_token=$FB_TOKEN -F query=$FB_QUERY https://api.facebook.com/method/fql.query

次の出力を生成します。

curl: (6) Couldn't resolve host 'first_name'
curl: (6) Couldn't resolve host 'FROM'
curl: (6) Couldn't resolve host 'user'
curl: (6) Couldn't resolve host 'WHERE'
curl: (6) Couldn't resolve host 'uid=100001273321556'
<?xml version="1.0" encoding="UTF-8"?>
(...further response that the request was invalid here...)

私は逃げることを忘れたことを何も見ませんでした。なぜcurlこれをホストとして解釈するのですか?

使用されているソフトウェアバージョン:
カール7.21.3 bash 4.2.8(1)

ベストアンサー1

FB_QUERY引用する必要があります:

curl -F access_token=$FB_TOKEN -F query="$FB_QUERY" https://api.facebook.com/method/fql.query

おすすめ記事