2010-04-08 4 views
0

나는 bash에 익숙하지 않고, 여기서 잘못하고있는 것을 발견하지 못했습니다 : (내 발전기를 호출하는 작은 bash 스크립트입니다)bash를 출력에 넣는 법

if [ -n $folder ]; then 
     $zorbalocation -q $generator -f -e files=\"$lFiles\" -e folder=\"lFolder\" 
    else 
     $zorbalocation -q $generator -f -e files=\"$lFiles\" -e folder=\".\" 
    fi 

이제 분명히 bash는 폴더의 내용에 따라 이러한 명령을 실행하고 싶습니다. 그러나, 어떤 이유로, bash는 파일 = ... 그리고 폴더의 주위에 아포스트로피 (')를 넣어 주장은 = ... 그래서, 그것은

../../../zorba/build/bin/zorba -q generator.xq -f -e 'files="test.xqlib"' -e 'folder="."' 

대신

../../../zorba/build/bin/zorba -q generator.xq -f -e files="test.xqlib" -e folder="." 

의 실행을 시도 배쉬가 아포 스트로피를 삽입하는 것을 왜 주장하는지 아무도 몰라? 인수 또는 명령 이름 주위에 따옴표를 넣어

모두

대니

으로 그들이 더 이상 해석 (예를 들어 변수 확장)가 필요하지 않기 때문에

답변

0

에 좋은 날, bash에 대한 문제가되지 않습니다.

+0

문제는 내가이 명령을 사용하여 프로그램을 호출하려고하고, 배쉬는 파일 = \ "$ lFiles \"호출 된 프로그램에 인수로 전달됩니다 원, '주위에 작은 따옴표를 가하고 있다는 것입니다 그 주위에 작은 따옴표가 있으면이 인수를 사용하지 마십시오. – user311707

+0

어떤 오류가 발생합니까? – mouviciel

+0

글쎄,이 오류는 제가 부르고 싶은 프로그램 (zorba)에만 해당합니다. zorba -q file.xq -f -e files = "..."-e folder = ".. . " 설명 할 수없는 이유로 bash는 zorba -q file.xq -f -e 'files ="... "'-e 'folder ="... "를 호출합니다. zorba가 인수를 제대로 인식하지 못하게합니다. ... (실제로 무엇이 호출되는지 보려면 set -x를 사용합니다.) – user311707

0

진술서에 echo을 넣고 원하는 내용인지 확인하십시오. 또한 큰 따옴표를 벗어나지 않도록하십시오.

if [ -n $folder ]; then 
    echo $zorbalocation -q $generator -f -e files="$lFiles" -e folder="lFolder" 
else 
    echo $zorbalocation -q $generator -f -e files="$lFiles" -e folder="." 
fi 

그렇지 않으면

+0

글쎄, 명령에 사용 된 변수가 실제로 적절하게 채워지는 것은 아니며, 실제로 어리둥절하게하는 것은 어퍼 스트로피가 추가되지 않는다는 것입니다.하지만 명령으로 남겨두면 ... 이중 quoutes의 탈출을 생략하면 명령에 표시되지 않습니다. (실제로 실행되는 것을 보려면 set -x를 사용합니다.) – user311707

1

배쉬가 실행되는 명령에 '추가하지 않습니다이 부분을 실행하기 전에 코드의 나머지 부분을 보여줍니다. bash -x 또는 set -x으로 스크립트를 실행할 때만 견적을 볼 수 있습니다. bash는 실행중인 명령을 인쇄하고 도움을주기 위해 인용 부호가 필요한 토큰을 bash에 다시 붙여 넣으려는 경우이를 인용합니다. 따라서 a="b"'a="b"'이됩니다. 문제는 다른 것이어야합니다.

+0

고마워요. Killian Foth, 이것은 크게 도움이됩니다. 적어도 이제는 문제가 어디 있는지 알지 못합니다. – user311707

0

지금 모두 지워졌습니다. eval 명령을 사용하면 모든 것이 정상적으로 작동하는 것으로 보입니다. 도움을 주신 모든 분들께 감사드립니다.

관련 문제