2011-02-23 4 views
2

Cygwin에서 CMD를 통해 스크립트를 자동으로 실행하려고합니다. 기본적으로 디렉토리로 이동하여 .SH 파일을 실행하는 BAT 파일을 만들었습니다. SH 파일은 Cygwin에서 호소력이 있으며, 명령 행에서 "cygwin update.sh"와 같은 것을 시도했다. 하지만 실제로 Cygwin은 열려 있습니다. Cygwin에서 자동으로 스크립트 파일을 실행하길 원합니다. 이 작업을 수행하는 쉬운 방법이 있습니까, 찾을려고했지만 시도 할 수 없습니다. 고맙습니다!Cygwin 자동 스크립트 출시

+0

또 다른 도움이 될 수있는 방법은 파일을 Windows의 CMD에서 Cygwin 호출 매개 변수로 추가 할 수 있습니까? – Bombillazo

+0

'bash --login -i' 줄 (마지막 줄) 앞에 모든 명령을 넣을 수 있습니다. cygwin.bat의 사본을 사용하고 물건을 추가 할 수 있습니다. Id는'ls'를 시도하고 ok를 실행합니다. 또한 아파치 시작 시도했지만 실패합니다. bash_profiles를 사용하는 것은 옵션이 아니 었습니다. 왜냐하면 cygwin을 열 때마다 evertime이 시작 되었기 때문입니다. 또한 cygwin.bat에 매개 변수를 추가하려고 시도했지만, 실제 필요성이 매개 변수를 bash 콘솔에 추가하기 때문에 예상대로 작동하지 않습니다. 덕분에 – erm3nda

답변

1

쉘 스크립트를 특정 쉘 (예 : 세게 때리다.

Cygwin을 열어 놓은 경우 which bash으로 전화하여 이진 파일의 위치를 ​​파악하십시오. Cygwin에는 Cygwin과 Win32 양식 사이의 경로를 변환 할 수있는 도구가 포함되어 있으므로 사용자의 경우에 도움이됩니다.

설정에 따라 작동하는 다른 하나가 있습니다. PATHEXT이라는 환경 변수가 있으며 CMD가 "실행 가능"하다고 간주하는 파일 확장명을 선언합니다. 쉘의 "open"동사가 파일 확장자 .sh (올바른 경우)을 실행하도록 Windows를 구성한 경우 이점을 활용할 수 있습니다.

행운을 빈다.

+0

! 나는 그것이 효과가 있다고 생각한다! – Bombillazo

1

나는 또한 이것을 발견했다!

http://rothmanshore.com/2011/01/26/kick-off-a-cygwin-script-from-a-windows-bat-file-with-a-different-working-directory/

는 꽤 처음에는 이해하지 못했지만, 내가 원하는대로 그것은했다. 아무도 모른다면 CMD 창이 열리지 않고 스크립트를 실행할 수있는 방법이 있습니까 ?? 감사합니다

+0

내 지식을 가진 각각의 바이너리가 모두 GUI 대신 콘솔 서브 시스템을 사용하기 때문에 그러한 옵션이 없을 것입니다. 따라서 로더는 부모가 콘솔 응용 프로그램이 아닌 경우 이미 콘솔 창을 할당합니다. 이것을 피하려면'CreateProcess'를 사용하여 스크립트를 시작하고 표준 핸들 ('stdin','stdout' 및'stderr')을 코드에서 처리하는 파이프로 리디렉션해야합니다. – 0xC0000022L

+0

오우 오, 고마워! 아쉽다 GUI 창에 출력하지 않고 그대로 유지하십시오 – Bombillazo

+0

오프라인 링크 :( – erm3nda

1

Cygwin 터미널에서, man mintty을 읽으십시오. Windows 명령 프롬프트에서 다음과 같은 것을 시도하십시오 :

c:\cygwin\bin\mintty --hold always --exec /cygdrive/c/path/to/bash/script.sh