임의의 디렉토리에서 Cygwin을 시작하시겠습니까?

임의의 디렉토리에서 Cygwin을 시작하시겠습니까?

임의의 Windows 기본 실행 방법(cmd.exe, Total Commander의 명령줄)을 사용하여 임의의 경로에서 Cygwin.bat를 호출하면 해당 디렉토리에서 준비된 bash가 시작되도록 Cygwin을 설정할 수 있습니까?

예를 들어, cmd.exe를 실행하고 다음을 수행하면(Cygwin.bat가 내 에 있는 경우 PATH):

C:\Users\Me>cd testdir

C:\Users\Me\testdir>dir /b
myfile1
myfile2

C:\Users\Me\testdir>Cygwin

Cygwin 창이 열리고 중단했던 부분이 바로 시작됩니다.

me@here /cygdrive/c/Users/Me/testdir
$ ls
myfile1*  myfile2*

me@here /cygdrive/c/Users/Me/testdir

보시다시피, Cygwin 프롬프트를 받았을 때 저는 이미 가 testdir아닌 에 있습니다 /home/me.

(이것을 사용하려는 보다 일반적인 시나리오는 Total Commander의 명령줄에서 Cygwin을 실행하는 것이지만 동일하게 작동해야 한다고 생각합니다.)

이것을 달성하는 방법은 무엇입니까?

답변1

나는 당신을 위해 뭔가를 함께 해킹할 수 있었습니다. 이것을 경로의 배치 파일에 넣으십시오(나는 광산이라고 불렀고 cygwin.bat를 입력하여 호출했습니다 cygwin.bat).

@echo off
set pth=%CD:~2,99%
set pth=%pth:\=/%
set drv=%CD:~0,1%
set "fullpath=/cygdrive/%drv%%pth%"
C:\cygwin\bin\bash.exe --login -i -c "cd ""%fullpath%""; exec /bin/bash"

답변2

이것더 간단하다 .bat파일 ( .cmd내 경우에는)은잘 작동나를 위한:

c:\CygWin\bin\bash.exe --login -i -c "export CD='%CD%'; cd \"$CD\"; exec /bin/bash"

테스트된 작업:

  • CMD.
  • 총 사령관.
  • 원격 SSH 세션.
  • 시작 메뉴 --> 실행(이 경우 에서 열립니다 C:\Users\Me).

관련 정보