44

私はcurlコマンドを持っています:

curl -u ${USER_ID}:${PASSWORD} -X GET 'http://blah.gso.woo.com:8080/rest/job-execution/job-details/${job_id}'

変数job_idには 1160 などの値が含まれています。シェルで curl コマンドを実行すると、次のエラーが表示されます。

{"message":"Sorry. An unexpected error occured.", "stacktrace":"Bad Request. The request could not be understood by the server due to malformed syntax."}

以下に示すように、コマンドに「1160」という数字を直接渡すと、curl コマンドが機能します。

curl -u ${USER_ID}:${PASSWORD} -X GET 'http://blah.gso.woo.com:8080/rest/job-execution/job-details/1160'

curl コマンドで変数の値を渡せるようにしたいです。

4

4 に答える 4

59

で変数を使用する場合、単一引用符ではなく二重引用符のみを使用できます。単一引用符内の変数は展開されません。' と " と ` の違いを学んでください。http: //mywiki.wooledge.org/Quoteshttp://wiki.bash-hackers.org/syntax/wordsを参照してください。

于 2012-11-12T10:23:11.700 に答える
1
userdetails="$username:$apppassword"
base_url_part='https://api.XXX.org/2.0/repositories'
path="/$teamName/$repoName/downloads/$filename"
base_url="$base_url_part$path"**strong text**
curl  -L -u "$userdetails" "$base_url" -o "$downloadfilename"
于 2020-10-01T18:38:17.530 に答える