임의의 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
).