2012-08-09 6 views
3

Windows XP 운영 체제를 사용 중이며 Cygwin이 C 드라이브에 설치되어 있습니다.Cygwin에 로그인하고 Windows에서 bat 파일을 사용하여 명령을 실행하십시오.

cygwin에 직접 메이크 파일이 들어있는 디렉토리 경로와 동일한 디렉토리에 build.sh라는 bash 스크립트가 있어야합니다. 그래서 원래의 cygwin.bat 파일을 수정하고 아래와 같이 줄을 추가했습니다. 내가 내 스크립트가 실행하지만 난에 대한 오류를 얻을 결과로 cmd를 쉘 Cygwin에서 쉘에 있지만 창문에 볼 수있는이 박쥐 파일을 더블 클릭

@echo off 

C: 
chdir C:\cygwin\bin 

bash --login "/cygdrive/E/scheme_31july/build/build.sh" 

"대상을 만들 수 없음 규칙"와 같은 명령을 "만들어" make는 cygwin과 번들로 제공된다.

cygwin.bat 파일을 사용하여 cygwin에 명시 적으로 로그인하고 cygwin 셸에서 다음 명령을 제공하여 스크립트를 실행하면 스크립트가 오류없이 실행됩니다.

$ cd /cygdrive/E/scheme_31july/build/ 
$ sh build.sh 

가 자동으로 수행한다 : 내 PC에 어디를 유지할 수 있습니다 대신 수동으로 Cygwin에서 프롬프트를 openeing과 같은 명령을 입력하지 않도록

는 기본적으로 나는 박쥐 파일을 작성합니다. 나는 그렇게 할 수있다.

감사합니다, Harshit

답변

3

No rule to make target 더 화장이 잘못된 디렉토리에 실행되는 것처럼 들린다. make 자체가 사용 가능하고 의도 한대로 작동하는 것 같습니다.

이 시도 :이, 지정된 쉘 명령을 실행합니다 (모든 설정 그리고 당신은 Cygwin에서 프롬프트 환경에서 기대할 수있는 도구에 대한 액세스를 제공한다)를 --login 세션을 시작해야

bash --login -c "cd /cygdrive/E/scheme_31july/build/ && sh build.sh" 

, 그것은 당신이 요구 한 CD와 SH입니다. 이 두 줄을 별도의 스크립트 파일에 쓰고 전체 경로 대신 bash로 그 이름을 build.sh으로 전달할 수도 있습니다.

또한 을 파일의 C:\scheme_31july\build에 넣은 다음 bash을 실행하면됩니다. bash이 로그인 세션을 시작할 때 경로를 변경하려고하는지 여부는 확실하지 않습니다. 이 접근법과 위의 방법 모두에 대해 --login 없이도 작업을 수행 할 수 있습니다.

@echo off 
C: 
cd C:\scheme_31july\build 
C:\cygwin\bin\bash.exe ./build.sh 

이후에 대화식으로 전환할지 여부는 확실하지 않습니다. 위의 경우 bash는 스크립트가 완료된 후에 종료되며 창을 닫을 수도 있습니다. 이를 방지하려면 readbuild.sh에 추가해야 할 수 있습니다. 어떤 명령을 실행 한 후 bash을 대화식으로 바꾸려면 bash의 --rcfile 옵션을 사용하여 일부 명령을 실행 한 다음 대화식으로 전환 할 수 있습니다.

관련 문제