나는 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="."
의 실행을 시도 배쉬가 아포 스트로피를 삽입하는 것을 왜 주장하는지 아무도 몰라? 인수 또는 명령 이름 주위에 따옴표를 넣어
모두
대니
으로 그들이 더 이상 해석 (예를 들어 변수 확장)가 필요하지 않기 때문에
문제는 내가이 명령을 사용하여 프로그램을 호출하려고하고, 배쉬는 파일 = \ "$ lFiles \"호출 된 프로그램에 인수로 전달됩니다 원, '주위에 작은 따옴표를 가하고 있다는 것입니다 그 주위에 작은 따옴표가 있으면이 인수를 사용하지 마십시오. – user311707
어떤 오류가 발생합니까? – mouviciel
글쎄,이 오류는 제가 부르고 싶은 프로그램 (zorba)에만 해당합니다. zorba -q file.xq -f -e files = "..."-e folder = ".. . " 설명 할 수없는 이유로 bash는 zorba -q file.xq -f -e 'files ="... "'-e 'folder ="... "를 호출합니다. zorba가 인수를 제대로 인식하지 못하게합니다. ... (실제로 무엇이 호출되는지 보려면 set -x를 사용합니다.) – user311707