2012-11-12 8 views
21

Mam curl polecenie:Jak przekazać zmienną w poleceniu zwinięcie w skryptów powłoki

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

Zmienna job_id ma wartość w nim, powiedzmy, 1160. Kiedy wykonać polecenia curl w skorupkach to daje mi następujący błąd:

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

Gdybym przekazać numer „1160” bezpośrednio w komendzie, jak pokazano poniżej, zwijającego się prace poleceń.

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

Czy ktoś może mi pomóc? Chcę być w stanie przekazać wartość zmiennej w poleceniu curl.

Odpowiedz

36

Używając zmiennych w , można używać tylko cudzysłowów podwójnych, a nie pojedynczych cudzysłowów: zmienne w cudzysłowach nie są rozszerzane. Poznaj różnicę między "a" i `. Zobacz http://mywiki.wooledge.org/Quotes i http://wiki.bash-hackers.org/syntax/words

+0

cudzysłowach podczas przypisywania wartości 1160 do job_id? To znaczy, tak?«Job_id = 1160». A potem nazwać wewnątrz polecenia curl za pomocą $ { 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

Bardzo dziękuję za pomoc !! Działa! :) Będę w stanie przyjąć twoją odpowiedź w 5 minut. – user1452759

Powiązane problemy