2012-11-12 123 views
21

我有一個curl命令:如何在shell腳本傳遞變量在curl命令

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

變量job_id在它具有價值,比方說,1160當我在shell中執行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命令中傳遞變量的值。

回答

36

中使用變量時,只能使用雙引號,而不能使用單引號:單引號內的變量不會展開。 學習之間的區別「和」與'見http://mywiki.wooledge.org/Quoteshttp://wiki.bash-hackers.org/syntax/words

+0

雙引號,而分配值1160 JOB_ID?你的意思是這樣的嗎?‘JOB_ID = 1160’。然後使用$稱它爲curl命令裏面{ job_id} – user1452759

+5

yes:'job_id = 1160; curl -u $ {USER_ID}:$ {PASSWORD} -X GET「http://lppma670.gso.aexp.com:8080/rest/job-execution/job-details/$ {job_id}「' –

+0

非常感謝您的幫助!!它的工作原理!:)我將能夠在5分鐘內接受您的答案,所以將這樣做:) – user1452759

相關問題