以下のカールループコマンドを使用していくつかのAPI RESTリクエストを実行しようとしています。内部にRESTリクエストを含む最初のURLリストを使用すると、完全に機能します。 2番目のURLリストを使用すると、「curl:(3)URLに無効な文字が見つかりました」というメッセージが表示されます。
for i in `rest_a_url_list` ; do curl -H "Content-Type: application/json" -H "Auth-Token: $token" $i ; done
最初の URL リストには次の行が含まれています。 https://some.api.net/REST/ARESTCOMM/x/ 2番目のリスト: https://some.api.net/REST/BRESTCOMM/x/x/xxxx
また、カールループ出力をbashスクリプトと「bash -x myfile.sh」に入れようとしましたが、誤った文字エラーも発生しました。しかし、ファイルをクリーンアップして実行する数行をコピーすると機能します。
Bash -x 出力はダブルスの代わりにいくつかの単純な引用符を提供し、URLの前に「$」を入れます。カール -D -H -X GET -H 'Content-Type: application/json' -H 'Auth-Token: $ token' $'URL'
何度もテストしましたが、毎回同じ結果が出ました。たぶんこれを達成する別の方法があるかもしれませんが、これらすべてが私を混乱させ始めました。何が間違っているのか、どんなアイデアがありますか?
答え1
申し訳ありません。このファイルをループで使用する前に sed と tr'd したので、url_list ファイルに無効な文字があります。今、すべてが大丈夫です。