특정 폴더에서 Cygwin을 여는 Cygwin 단축키를 어떻게 만들 수 있습니까? 이것은 타이핑하지 않아도됩니다.
cd /cygdrive/c/Users/Tom/Desktop/
Cygwin을 시작할 때마다
sudo
예상 한 결과를 얻지 못할 수 있습니다. 이 경우 Windows 시스템에서 관리자로 로그인하십시오.
특정 폴더에서 Cygwin을 여는 Cygwin 단축키를 어떻게 만들 수 있습니까? 이것은 타이핑하지 않아도됩니다.
cd /cygdrive/c/Users/Tom/Desktop/
Cygwin을 시작할 때마다
sudo
예상 한 결과를 얻지 못할 수 있습니다. 이 경우 Windows 시스템에서 관리자로 로그인하십시오.
답변:
Cygwin을 설치할 때 (또는 이미 설치 한 경우 다시 다운로드 한 후 업데이트를 실행하기 위해 설치를 다시 시작하십시오) chere
"쉘"범주 에서 패키지 를 선택해야합니다 .
Cygwin이 시작된 후 관리자로 Cygwin 터미널을 열고 다음 명령을 입력하십시오 chere -i -t mintty -s bash
.
이제 Windows 마우스 오른쪽 버튼 클릭 컨텍스트 메뉴에 "Bash Prompt Here"가 나타납니다.
( 민티 는 Cygwin의 기본 터미널입니다. -t
옵션 과 함께 선택하지 않으면 "Bash Prompt Here"는 Windows 명령 프롬프트와 동일한 터미널을 사용하여 수평 크기 조정을 방지합니다.)
-t
예를 들어 사용 하고있는 민트를 열 때와 같이 열고 자하는 터미널을 지정할 수 있음을 알았습니다.chere -i -t mintty
chere -i -t mintty -f
덮어 쓰기를 수행하기 위해 이미이 작업을 수행 한 경우 cygwin을 관리자로 계속 실행해야합니다.
-s bash
chere -i -t mintty -s bash
여기 내가 사용하는 것이 있습니다. chere
패키지 또는 레지스트리 땜질이 필요하지 않습니다 . Windows 7에서 작동합니다.
"보내기"폴더로 이동하십시오.
C:\Users\<your_user_name>\AppData\Roaming\Microsoft\Windows\SendTo
필드에 Bash Here
이를 갖는 바로 가기를 작성하십시오 Target
.
C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\cygwin\bin\bash.exe -l -c "cd \"$0\" ; exec bash"
Windows 탐색기에서 폴더를 마우스 오른쪽 버튼으로 클릭하고을 선택 Send To > Bash Here
합니다.
그리고 현재의 bash 디렉토리에서 Windows 탐색기를 여는 반대의 트릭이 있습니다. 이 별명을 작성하십시오.
alias winx='/cygdrive/c/Windows/explorer.exe /e,\`cygpath -w .\`'
참고 : cygpath -w .
위 부분은 백틱으로 묶여 있습니다.
이제 winx
bash 프롬프트에서 입력 하면 Win Explorer가 나타납니다.
참고 : winx가 문서 폴더로 안내하는 경우 시도하십시오
alias winx='/cygdrive/c/Windows/explorer.exe /e,`cygpath -w $PWD`'
winx
Cygwin 설정 에서 별칭이 작동하지 않았습니다. 나는 모두 백 슬래시를 제거하고 교체했다 .
과 함께 $PWD
작동 할 수.
alias winx='/cygdrive/c/Windows/explorer.exe /e,$(cygpath -wa .)'
cygstart .
현재 폴더, 또는 폴더 구문 탐색기를 열려면 cygstart ..
, cygstart /your/path
... 등
C:\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico C:\cygwin\bin\bash.exe -l -c "cd \"$0\" ; exec bash
파일 핸들을 $0
디렉토리에 열어 둡니다. ALT+F2
이미 작업 디렉토리를 변경 한 경우에도 창 ( ) 의 생성 사본이 더 나빠진 경우 다른 파일 핸들을로 엽니 다 $0
. 이는 $0
프로세스에서 삭제 / 수정하려는 일부 작업을 방해 할 수 있습니다 . 액세스 할 때 'Permission Denied (허가 거부)'오류가 발생하면 $0
원인 일 수 있습니다.
cygwin 터미널에서 다음 명령을 실행하십시오.
echo "cd your_path" >> ~/.bashrc
새 bash 세션을 열면 .bashrc 스크립트가 실행됩니다. 새 cygwin 세션을 열면 위 코드가 your_path 디렉토리 로 변경됩니다 .
>
문자. 그런 다음 로그 아웃했습니다 :-)
마우스 오른쪽 버튼 클릭 상황에 맞는 메뉴에 "Open Cygwin Here"옵션을 넣는 .reg 파일을 만들었습니다. 초기 설정에서 설치하지 않은 경우 apt-cyg를 사용하여 설치할 수있는 Cygwin "chere"패키지에 따라 다릅니다 .
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"
apt-cyg
이 도구에 대해 몰랐습니다
cygwin64 또는 chere가없는 설치의 경우 레지스트리 항목에서 다음 명령을 사용할 수 있습니다 (경로로 인해 창을 가정하고 cygwin 설치 디렉토리가 c : \ cygwin64라고 가정).
C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd "`cygpath "%V"`"; bash'
여기에서 다운로드 할 수있는 Windows 7 및 8 레지스트리 파일에서 작동합니다. http://tomkay.me/blog/Cygwin64---Open-Here-18
Windows Registry Editor Version 5.00
; Open cygwin to folder
; http://tomkay.me - Tom Kay
[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin]
@="Open Cygwin Here"
[HKEY_CLASSES_ROOT\Folder\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"
[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin]
@="Open Cygwin Here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin\command]
@="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"%V\"`\"; bash'"
cygpath \"%V\"
\ ",'"
해당 디렉토리를 기본값으로 사용 cd
하려면 ~/.profile
파일에 명령문을 추가 하십시오.
내가하는 경향은 그 방법을 사용하여 일반적인 디렉토리를 설정하고 일반적인 경우의 별칭을 정의하는 것입니다.
alias tom="cd /users/tom"
또는 동등한 것. 이를 통해 디렉토리를 매우 빠르게 변경할 수 있습니다.
~/.profile
파일에 추가해야합니까 , 아니면 한 번만 실행해야합니까?
~/.profile
한 가지 가능성이 있음).
bash
만약 깊이 파면 맨 페이지 에 모두 있음 ). 이것이 제가 한 .profile
가지 가능성으로 언급 한 이유 입니다.
chere
패키지 없이 cygwin을 시작하기 위해 및 아이콘을 사용 합니다.
C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -c 'cd'
C:\some\dir\name\here
-c
"시작"에 경로를 제공하는 한 "대상"에 추가 해도 아무런 차이가 없습니다.이 솔루션은에 문제를 일으 킵니다 PATH
. cygwin이 /usr/local/bin:/usr/bin
시스템 PATH 앞에 추가되지 않아 일부 바이너리를 호출 할 수 없음 구성이 /etc/profile
>>`if [$ {CYGWIN_NOWINPATH-addwinpath} = "addwinpath"]; 그런 다음`
two7s_clash에 따르면 먼저 chere
패키지를 설치하고 민트 를 설치해야한다고 말했습니다 .
apt-cyg install chere
chere -i -t mintty
이제 Windows 탐색기 (컨텍스트 메뉴)에서 마우스 오른쪽 버튼을 클릭하고 "Bash Prompt Here"를 선택하여 특정 디렉토리에서 cygwin을 열 수 있습니다.
Windows 명령 프롬프트를 사용하여 특정 디렉토리에서 cygwin을 열 수도 있습니다.
cd
)를 사용자 정의 디렉토리로 이동실행 C:\cygwin64\bin\mintty.exe C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
이 명령은 명령 프롬프트에서 가져온 현재 디렉토리로 cygwin을 엽니 다.
이 명령을 사용하여 FreeCommander와 같은 사용자 정의 파일 관리자에서 cygwin을 열 수도 있습니다.
FreeCommander에서 가져온 현재 디렉토리로 cygwin을 열려면 다음을 수행하십시오.
새 도구 모음 추가 (+ 아이콘), 바로 가기 : 삽입
C:\cygwin64\bin\mintty.exe
%ActivDir%
C:\cygwin64\bin\env.exe CHERE_INVOKING=1 C:\cygwin64\bin\bash.exe -l
FreeCommander에서 cygwin을 여는 사용자 정의 단축키를 추가 할 수 있습니다.
훌륭한 참고 자료 : MinTTY Wiki, 기사 팁 : 특정 디렉토리에서 시작
원하는 디렉토리에서 Cygwin 터미널을 시작하는 Windows 바로 가기를 만들려면 다음을 시도하십시오.
Windows 바탕 화면을 마우스 오른쪽 버튼으로 클릭하고 '새로 만들기'를 선택한 다음 '바로 가기'를 선택하십시오.
항목 위치에 다음 mintty
경로를 입력하고 필요에 따라 경로를 변경하고 표시된 곳에 원하는 디렉토리의 이름을 바꾸십시오 .
C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd DESIRED-DIRECTORY; exec bash'
예를 들어 OP는 다음 텍스트를 사용합니다.
C:\cygwin64\bin\mintty.exe /bin/sh -lc 'cd /cygdrive/c/Users/Tom/Desktop/; exec bash'
'다음'을 클릭하십시오.
바로 가기 이름을 입력하고 '마침'을 클릭하십시오.
Cygwin 터미널을 자주 액세스하는 다양한 디렉토리에서 열 수 있도록 여러 개의 바로 가기를 데스크탑에 배치 할 수 있습니다.
Netbeans의 특정 디렉토리에서 Cygwin 쉘을 여는 방법에 게시 된 솔루션에서 영감을 얻었습니다 . 에서 superuser.com .
다음 코드 줄을 사용하여 Win7의 현재 디렉토리에서 zsh를 시작했습니다.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="\"C:\\Programmieren\\cygwin64\\bin\\mintty.exe\" -i /Cygwin-Terminal.ico /bin/zsh --login -c 'cd \"%V\";zsh'"
% L 또는 % 1 대신 % V를 사용했습니다 (둘 다 작동하지 않기 때문에)
새로 설치해야 할 경우 Windows "사용자 환경 변수"라는 이름을 만들어 HOME
"내 문서"가있는 곳의 경로를 지정합니다.
cygwin 설치 프로그램은 HOME
변수를 감지하고 이를 자동으로 cygpath로 변환하고이를 ~ 디렉토리로 선택합니다.
이것은 지난 5 년간 전문적으로 사용한 모든 워크 스테이션 (Win7의 약 3 또는 4)에 대해 잘 작동했습니다. 나는 항상이 기계에서 유일한 사용자였으며 그 효과가 무엇인지 말할 수 없습니다.
오른쪽 클릭 한 폴더에서 Cygwin을 열 수있는 레지스트리 편집 스크립트를 만들었습니다. 내 GitHub에 있습니다.
RegEdit
64 비트 시스템 용 Github의 샘플 코드 :
REGEDIT4
[HKEY_CLASSES_ROOT\Directory\shell\CygwinHere]
@="&Cygwin Bash Here"
[HKEY_CLASSES_ROOT\Directory\shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\CygwinHere]
@="&Cygwin Bash Here"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\CygwinHere\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""
파일 Icon
경로에 필드 세트를 추가하여 아이콘을 쉘에 추가 할 수 Cygwin.ico
있습니다.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Cygwin"
"Icon"="\"C:\\cygwin64\\Cygwin.ico\""
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -e /bin/xhere /bin/bash.exe"
내 Windows 컴퓨터에서 다음을 수행하지 않았습니다.
치어 리 -i -t 박하
민트 쉘을 사용할 수 없었으므로 ash bash cmd dash mksh pdksh posh tcsh zsh passwd와 같은 다양한 다른 쉘을 선택할 수 있습니다.
그래서 나는 사용했다 :
치어 -i -s bash
레지스트리를 사용하는 대답에서 Windows 2008 R2 SP1에서 백그라운드에서 백그라운드를 삭제해야한다는 것을 알았습니다. 또한 chere와 xhere는 cygwin64의 일부가 아니므로 레지스트리와 보내기 솔루션을 결합하여 사용할 수있는 솔루션이 있습니다. 'E : \ cygwin64'를 설치 위치로 바꾸십시오.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash]
@="Open Cygwin Here"
[HKEY_CLASSES_ROOT\Directory\shell\cygwin_bash\command]
@="E:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico --exec /bin/bash.exe --login -c \"cd '%1' ; exec bash -rcfile ~/.bashrc\""
이것은 Windows 8.1에서 나를 위해 일한 유일한 Cygwin64 레지스트리 솔루션입니다.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\mintty]
@="Mintty from Here"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\mintty\command]
@="C:\\cygwin64\\bin\\mintty.exe -h always -e /usr/bin/ash -c 'cd \"$(/usr/bin/cygpath \"%L\")\"; exec /usr/bin/bash '"
필요에 따라 'C : \ cygwin64'경로를 수정하십시오.
배치 파일을 만들어 Cygwin의 / bin 디렉토리에 넣었습니다. 이 스크립트는 Cygwin에서 선택한 폴더와 드라이브를 열기위한 레지스트리 항목을 설치 / 제거 할 수 있도록 개발되었습니다. 자세한 내용은 http://with-love-from-siberia.blogspot.com/2013/12/cygwin-here.html 링크를 참조하십시오 .
업데이트 :이 솔루션은 초기 제안과 동일하지만 Windows 레지스트리의 모든 조작은 스크립트 내에 숨겨져 있습니다.
설치 명령을 수행하십시오
cyghere.bat /install
제거 명령을 수행하십시오.
cyghere.bat /uninstall
move.sh
다음 코드를 가진
bash 파일 만들기 C:\cygwin64\bin\run.exe -p /bin bash runFile.sh
Cygwin을 시작하고 Cygwin runFile.sh
의 bin 디렉토리에 현재 파일을 실행합니다 . 특정 디렉토리로 이동하려는 E:\code
경우 runFile.sh에 다음 코드가 있다고 가정하십시오.cd E:
cd code
마지막으로 Cygwin 자체와 독립적 인 답변입니다.
이것은 내가 디렉토리에 나는 경우는 사실을 사용 C:\\Cool
하고 내가 명령을 호출 C:\\Cygwin\\bin\\mintty.exe
, mintty
즉 현재 디렉토리에 자동으로 열립니다 C:\\Cool
.
먼저 C:\\Cygwin\\silent_run.vbs
다음 내용으로 파일을 작성해야합니다 .
Function EnquoteString(argument)
EnquoteString = Chr(34) & argument & Chr(34)
End Function
arglist = ""
With WScript.Arguments
For Each arg In .Unnamed
' Wscript.Echo "Unnamed: " & arg
If InStr(arg, " ") > 0 Then
' arg contains a space
arglist = arglist & " " & EnquoteString(arg)
Else
arglist = arglist & " " & arg
End If
Next
End With
CreateObject("Wscript.Shell").Run Trim( arglist ), 0, False
다음으로이 답변을 설치하려면 Windows 레지스트리 파일을 사용합니다. 이를 위해 다음 파일의 내용을 이름이 지정된 파일에 넣으십시오.C:\\Cygwin\\AddMinttyToContextMenu.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here]
"Icon"="\"C:\\Cygwin\\bin\\mintty.exe\""
"Position"="Middle"
@="Terminal Here"
"CommandFlags"=dword:00000020
[HKEY_CLASSES_ROOT\Directory\Background\shell\Terminal Here\Command]
@="\"C:\\Cygwin\\bin\\mintty.exe\" -w max"
[HKEY_CLASSES_ROOT\Directory\shell\Terminal Here]
"Icon"="\"C:\\Cygwin\\bin\\mintty.exe\""
"Position"="Middle"
@="Terminal Here"
"CommandFlags"=dword:00000020
[HKEY_CLASSES_ROOT\Directory\shell\Terminal Here\Command]
@="cmd.exe /c cd /d \"%V\" && wscript \"C:\\Cygwin\\silent_run.vbs\" \"C:\\Cygwin\\bin\\mintty.exe\" -w max"
이제 모든 하드 코딩 된 경로를 C:\\Cygwin
Cygwin 설치가있는 실제 위치로 수정하십시오.
그런 다음 파일 C:\\Cygwin\\AddMinttyToContextMenu.reg
을 열어서 새 레지스트리 항목을 설치하면 완료됩니다.
파일 C:\\Cygwin\\AddMinttyToContextMenu.reg
은 먼저 a를 열고 현재 cmd.exe
있는 디렉토리로 변경 한 다음 명령 행 옵션으로 터미널 C:\\Cygwin\\silent_run.vbs
을 열도록 호출 하여 작동합니다.C:\\Cygwin\\bin\\mintty.exe
-w max
예 : 최대화 된 상태 합니다.
스크립트 C:\\Cygwin\\silent_run.vbs
는 우리 C:\\Cygwin\\bin\\mintty.exe
가 처음 열어 본 상태를 유지하지 않고 터미널 을 열어야합니다 cmd.exe
.
첫 번째 항목은 기본적으로 키가 현재 디렉토리에서 이미 열려 있기 때문에 C:\\Cygwin\\AddMinttyToContextMenu.reg
사용하지 않으며 , 즉시 호출 하여 즉시 사용할 수 있습니다.C:\\Cygwin\\silent_run.vbs
HKEY_CLASSES_ROOT\Directory\Background\shell
C:\\Cygwin\\bin\\mintty.exe
참고 문헌 :
나는 왜 그렇게 많은 시간을 낭비하지 않았는지 모르겠지만 10, 64 비트 승리에서 나에게 효과적입니다.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash]
@="Open Cygwin Here"
[HKEY_CLASSES_ROOT\Directory\Background\shell\cygwin_bash\command]
@="C:\\cygwin64\\bin\\mintty.exe -i /Cygwin-Terminal.ico C:\\cygwin64\\bin\\bash.exe --login -c \"cd \\\"%V\\\" ; exec bash -rcfile ~/.bashrc\""
아마도 가장 간단한 것 :
1) foo.reg 파일 생성
2) 내용 삽입 :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty]
@="open mintty"
[HKEY_CLASSES_ROOT\Directory\background\shell\open_mintty\command]
@="cmd /C mintty"
3) foo.reg를 실행
이제 아무 폴더 나 마우스 오른쪽 버튼으로 클릭하고 클릭 open mintty
하면 해당 폴더에 민트가 생성됩니다.