이중 인용문이없는 Apache Ant Command Line 인수 - 가능합니까?
-
05-07-2019 - |
문제
오늘 나는 Apache Ant 파일에 작업을 추가해야했습니다. 명령 줄은 같은 것이어야합니다
myprogram --param1 --param2 path\somefile 2> path\logfile
이것의 문제는 내가 이것에 대해 다음과 같은 것을 사용한다면
<exec executable="$(myprogram)"
<arg value="--param1">
<arg value="--param2">
<arg path="$(somefile)">
<arg value="2>">
<arg path="$(logfile)">
</exec>
모든 인수가 인용되었으므로 명령은 다음과 같이 보였습니다.
myprogram "--param1" "--param2" "path\somefile" "2>" "path\logfile"
파일/경로에 공간이 있지만 파이프를 로그 파일로 파괴하는 경우 나쁘지 않고 특히 좋지 않습니다 (대신 프로그램은 두 개의 추가 파일 인수 "2>"및 "path logfile"이 있다고 생각합니다).
파일을 매개 변수로 만 원하는 배치 스크립트를 호출 하여이 문제를 해결했지만 궁금했습니다. 그러한 해결 방법 없이이 작업을 수행 할 수 있습니까?
해결책
"myProgram --param1 --param2 path somefile 2> path logfile"을 실행하면 프로그램에 대한 인수는 "2>"에서 끝납니다. 파일 리디렉션은 개미 내에서 사용되지 않는 쉘의 작동입니다. 문서를 보면 Ant Exec 작업, 당신은 그것이 그것을 통해 리디렉션을 지원한다는 것을 알 수 있습니다 산출 기인하다.
다른 팁
당신은 시도 했습니까? <arg line="..." />
?
ANT EXEC 작업에는 출력 파일을 덮어 쓰거나 추가 해야하는지 확인하기 위해 매개 변수 부록과 결합 된 명령 줄 배관없이 로그 파일을 지정할 수있는 출력 매개 변수가 있습니다.
주제 스타터처럼 동등한 문제가있었습니다. Java Execution Command Line에서는 소스 파일을 별도의 인수로 추가해야했습니다. 나는 그것을 사용했다 <arg value="..." />
태그를 사용하지만 사용합니다 <arg line="..." />
NULLPTR이 제안한대로 내 문제를 해결했습니다.