현재 폴더에서 MSYS 시작


9

Windows에 MinGW / MSYS가 있는데 작업중인 폴더에서 MSYS 셸을 시작하는 방법을 알 수 없습니다.

예를 들어, Windows 콘솔에서 폴더로 작업하고 있으며 c:\tempMSYS ( msys.bat)를 호출하면 고정 된 위치에 새 콘솔 창이 열리고 홈 폴더를 나타냅니다.

msys.batMSYS 셸이 현재 작업 폴더에서 열리도록 (또는 시작 후 변경)이 파일 을 변경하는 방법은 무엇입니까?


질문에 해당 배치 파일의 내용을 포함시킬 수 있습니까?
Karan


1
무언가를 놓치지 않으면 배치 파일의 경로가 설정되어 있지 않습니다. 내 생각에 rxvt / bash가 구성 파일에 따라 기본 디렉토리에서 시작되고 있습니다. 당신은 수있는 현재의 디렉토리를 (통과 할 수 %cd%어떻게 든 그들에게),하지만 난 모르겠어요.
Karan

그렇습니다, 그것이 내가 찾고있는 것입니다 : bash를 호출하면 Windows의 현재 작업 폴더에서 변경하도록 지시하십시오. Cygwin도 비슷한 옵션을 가지고 있습니다
zetah

답변:


6

사용중인 msysgit 버전이 확실 msys.bat하지 않지만 전화를 걸면 현재 디렉토리가 변경되지 않습니다. 디렉토리가 변경되는 것을 확인 etc/profile하면 msysgit 디렉토리 의 파일에서 cd명령을 확인하십시오. 로그인 쉘이 시작될 때이 파일이 실행되면 항상 홈 디렉토리에 들어가게 될 수 있습니다.


3
예, 해당 파일의 마지막 줄 (시스템의 ... \ mingw \ msys \ 1.0 \ etc \ profile)은 cd "$HOME"입니다. bash가 현재 폴더에서 시작된다고 언급 cd하면 홈 폴더로 이동하기 가 쉽습니다 .
Brian Burns

4

다른 사람들이 지적했듯이, msys.bat는를 발행합니다 cd "$HOME"에서 etc/profile. HOME 환경 변수를 설정하면 .올바른 작업 디렉토리가있는 mingw 쉘이 제공됩니다.

set HOME=.
C:\MinGW\msys\1.0\msys.bat

1

bash 파일을 만들고 인수를 msys2_shell.cmd에 전달하여 원하는 곳에서 시작할 수 있습니다.

msys2_shell.cmd -where "home/name/esp"


0

작업중인 폴더에서 실행하고 해당 폴더에서 정기적으로 작업하는 경우 .bash_profile홈 디렉토리 끝에 줄을 추가 할 수 있습니다 .

cd /c/temp

이 명령은 터미널에 로그인 할 때마다 실행됩니다. 여러 명령을 실행하려는 경우 파일을 정교하게 작성하고 소스를 작성할 수 있습니다 (예 :

. ~/etc/start_script . ~/etc/start_script2

이것은 .bashrc가 이미 구성되어 있거나 대체 홈 경로를 사용하지 않으려는 경우에 특히 유용합니다.


0

어떤 이유로 수정 etc/profile( cd "$HOME"첫 번째 답변에서와 같이 주석 처리 )이 바람직하지 않은 경우 다음과 같이 할 수 있습니다.

# in mingw:
%SystemDrive%\mingw\msys\1.0\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"
# msys in root:
%SystemDrive%\msys\bin\sh.exe --login -i -c "cd '%TEMP%'; $SHELL"

이 예제는 /tmp디렉토리 에서 msys 쉘을 시작 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.