2013-04-10 3 views
1

ecb에 인수를 전달하려고합니다. 그러나 나는 인용문을 벗어나는 문제에 대해 생각한다. 아래의 $ edir 변수는 특히 많은 문제점을 제공합니다.Bash : 변수를 따옴표로 인수로 전달

#!/bin/bash 

edir='"(open-project-ecb \"'`pwd`'\")"' 

#edir=`pwd` 

echo $edir 

command=(-n --eval $edir) 

emacsclient "${command[@]}" 
+0

어떻게 'pwd'를 둘러싸고 싶습니까? – fedorqui

+0

@fedorqui 그래서 이상적인 세상 "(open-project-ecb \"pwd \ ")" – bobarillo

+0

명령을 수행하면 얻을 수있는 것입니다. 'echo $ edir'는 나에게''(open-project-ecb \ "/ my/dir \") "' – fedorqui

답변

5

너무 빨리 인용하는 중입니다. $edir의 확장을 인용하는 한 그 값에 추가 따옴표를 포함 할 필요가 없습니다. 그것은 하나의 단어로 취급 될 것입니다.

edir="(open-project-ecb \"$(pwd)\")" 
command=(-n --eval "$edir") 
emacsclient "${command[@]}" 
+0

을 제공합니다. 나는 당신을 투표 할 것이나 나는 충분한 명성을 분명히 가지고 있지 않다. – bobarillo

+0

@bobarillo가 그랬습니다. – v01pe