Откройте Cygwin в определенной папке - PullRequest
214 голосов
/ 09 марта 2012

Как создать ярлык Cygwin, который будет открывать Cygwin в определенной папке? Это избавит от необходимости набирать

cd /cygdrive/c/Users/Tom/Desktop/

каждый раз, когда я запускаю Cygwin.

Ответы [ 27 ]

3 голосов
/ 05 сентября 2017

Когда требуется новая установка, я создаю «переменную среды пользователя» Windows с именем HOME и назначаю ей путь к месту, где находятся «Мои документы».

Программа установки cygwin обнаруживает переменную HOME, автоматически переводит ее в cygpath и выбирает ее в качестве моего ~ каталога.

Это хорошо работало на каждой рабочей станции, которую я профессионально использовал последние 5 лет (около 3 или 4, Win7). Я всегда был единственным пользователем на этих машинах, не могу сказать, каков эффект.

3 голосов
/ 25 ноября 2013

Я сделал скрипт редактирования реестра, чтобы открыть Cygwin в любой папке, которую вы щелкнете правой кнопкой мыши. Это на моем GitHub.

Вот мой GitHub

Пример RegEdit кода от Github для 64-битных машин:

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\""
3 голосов
/ 30 ноября 2013

Я использовал следующие строки кода для запуска zsh в текущем каталоге в Win7.

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'"

обратите внимание, что я использовал% V вместо% L или% 1 (поскольку оба не работали дляя)

2 голосов
/ 20 февраля 2015

Открыть терминал Cygwin с правами администратора

В PowerShell (с использованием шоколада):

choco install cyg-get

В Cygwin Установим контекстное меню

cyg-get install chere
chere -i

Теперь вы можете щелкнуть правой кнопкой мыши и использовать «Bash Prompt Here» в любой папке.

1 голос
/ 04 апреля 2017

На моей машине с Windows это не занимало:

chere -i -t mintty

Поскольку mintty shell не был доступен, но у вас может быть выбор других оболочек, таких как ash bash cmd dash mksh pdksh шикарный tcsh zsh passwd.

поэтому я использовал:

chere -i -s bash

1 голос
/ 10 сентября 2018

Вы можете просто открыть терминал cygwin и написать: cd и после перетаскивания n перетащить нужную папку в конец!

1 голос
/ 15 ноября 2013

В ответе, который использует реестр, я обнаружил, что в Windows 2008 R2 с пакетом обновления 1 (SP1) необходимо удалить фон из пути.Кроме того, поскольку chere и xhere не являются частью cygwin64, вот решение, которое работает как для объединения реестра, так и для решений Send To.Замените '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\""
0 голосов
/ 04 июля 2017

Создайте файл bash, скажем move.sh, который имеет следующий код C:\cygwin64\bin\run.exe -p /bin bash runFile.sh Это запускает Cygwin и выполняет runFile.sh, присутствующий в каталоге bin Cygwin Предположим, вы хотите перейти к определенному каталогу, скажем E:\code тогда runFile.sh имеет следующий код cd E: cd code

0 голосов
/ 19 декабря 2016

Вы можете добавить значок в оболочку, добавив поле 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"
0 голосов
/ 20 апреля 2016

Лучше всего сделать, как показано ниже:

HKEY_CLASSES_ROOT\Directory\shell\BashHere
Enter Data: Bash Here

HKEY_CLASSES_ROOT\Directory\shell\BashHere\command
Enter Data: 

cmd.exe /c C:\cygwin\bin\bash.exe --login -c "cd '%1'; exec /bin/bash"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...