1
여기 에코 출력을 복사하여 명령 행에서 실행하면 작동하지만 마지막 줄은 실패합니다. 따옴표와 이스케이프 문자로 다른 접근법을 테스트했지만 . erl -eval
를 호출 할 때 실패에코에서 복사되었지만 배치 파일에서 올바르게 복사되지 않았습니다.
여기 에코 출력을 복사하여 명령 행에서 실행하면 작동하지만 마지막 줄은 실패합니다. 따옴표와 이스케이프 문자로 다른 접근법을 테스트했지만 . erl -eval
를 호출 할 때 실패에코에서 복사되었지만 배치 파일에서 올바르게 복사되지 않았습니다.
당신은 당신이 (이 모든 어쨌든 인용 것) 구축하고있는 문자열의 일부가 백 슬래시를 필요로하지 않으며, 당신은 여분의 큰 따옴표가 필요하지 않습니다 :
#!/bin/bash
shopt -s nullglob
eval="c:cd(\"src/\"),"
for f in src/*.erl
do
filename=`basename "$f"`
eval=${eval}" c:c(\"$filename\"),"
done
eval=${eval}" c:q()."
echo erl -eval "\""${eval}"\""
erl -eval "${eval}"