2012-05-04 3 views
2

웹을 검색했지만 여전히 알아낼 수 없습니다. 게으른 울음 소리가 도움이 될만한 소리가 나면 사과드립니다.이 주제로 끝납니다. 다음과 같이 내가 Cygwin.batfilter.bat에 복사 한 /cygdrive/k/Linux Scripts/Scripts/filter.shCygwin : dos 배치 파일에서 직접 bash 스크립트를 실행하면 작동하지 않습니다.

, 그것을 변경 :

나는에 위치한 bash는 스크립트가

@echo off 
L: 
chdir L:\Cygwin\bin 
bash --login "/cygdrive/k/Linux Scripts/Scripts/filter.sh amc.txt bmo.txt" 

나는 그것을 더블 클릭하여 filter.bat을 실행 Windows 탐색기에서 콘솔이 일시적으로 열 린 다음 닫힙니다. 이 스크립트는 Cygwin 콘솔의 명령 줄에서 실행되기 때문에 OK입니다.

이 문제를 디버그 할 수있는 방법이 있습니까?

+0

으로 바꿀 것이다. 두 가지 생각 : 완료까지 잘 실행 되었기 때문에 터미널이 닫혀있을 수있다. 키 누름을 기다리기 위해 마지막에 추가 할 수있는 '일시 중지'와 같은 명령이 없습니까? 둘째, 파일 이름의 공간이 문제를 일으킬 수 있습니다. '/ cygdrive/k/Linux Scripts/Scripts/filter.sh' 파일을 작은 따옴표로 묶으십시오. – sarnold

+0

@Sarnold. 스크립트는 일반적으로 완료하는 데 약 30 초가 걸리고 다른 파일을 생성합니다. 이 경우 아무것도하지 않습니다. – Paul

답변

3

이미 존재하는 명령 프롬프트 창에서 배치 파일을 실행하여 bash가 보낼 수있는 오류 메시지를 볼 수 있습니다. 나는 그것이 "/ cygdrive/k/Linux Scripts/Scripts/filter.sh amc.txt bmo.txt"에 문제가 있다고 생각한다. 그러므로 나는 그것을

bash --login "/cygdrive/k/Linux Scripts/Scripts/filter.sh" amc.txt bmo.txt 
+0

나는 그것을 시험해 보았다. 여전히 차이는 없습니다. 또한 "bash --login -i ..."와 같이 -i 옵션을 시도했습니다. – Paul

+0

echristopherson & Sarnold. 제가 대본에 실수를 저질렀다는 것을 알았습니다. 백 슬래시로 경로 이름의 공간을 이스케이프 처리했습니다. 내가 이것을 해명하고 둘 다 제안 할 때 작은 따옴표 나 큰 따옴표를 사용하면 효과가있었습니다. 감사! – Paul

+0

우수! 이 기회를 통해 콘텐츠를 다시 입력하는 대신 실제로 시도한 내용을 복사하여 붙여 넣는 것이 중요하다는 것을 알 수 있습니다. 감사! – sarnold

관련 문제