2014-06-16 5 views
1

나는 쉘 스크립트쉘 스크립트 명령을 인용하는 방법은 무엇입니까?

header_string="--header \"X-param1: 1\" --header \"X-param2: 2\"" 
url="http://example.com" 
command="curl $header_string $url" 

a=`${command}` 

이 내가 올바르게 인용 수있는 방법

curl --header '"X-param1:' '1"' --header '"X-param2:' '2"' http://example.com 

처럼 해석되기 때문이 작동하지 않습니다에서 곱슬 곱슬하는 파라 메트릭 전화를 형성하기 위해 노력하고 있어요? 당신이 다음 지칠대로 지친 eval의 사용 이전 sh를 사용하는 경우

header_string=(--header "X-param1: 1" --header "X-param2: 2") 
url="http://example.com" 
command="$(curl -s "${header_string[@]}" "$url")" 

:하지만 당신은 BASH를 사용하는 경우

답변

2

당신은 BASH 배열을 잘 활용을 할 수

header_string="--header \"X-param1: 1\" --header \"X-param2: 2\"" 
url="http://example.com" 
command=`eval "curl $header_string $url"` 
+1

니스 (AB) 'eval'의 사용. +1. –

+0

선호하는 방법은 BASH를 사용하고'eval'을 피하는 것입니다. – anubhava

+1

고마워요. 그것은 작동합니다! 나는 bash를 사용한다. – nickbit

관련 문제