Cygwin вместо cmd открывается из проводника?

6

Я знаю, что в проводнике вы можете перейти в адресную строку и ввести cmd чтобы открыть командную строку для каталога, в котором вы сейчас находитесь. Я ищу способ сделать то же самое с cygwin. Внутри Cygwin я могу cd C: вырваться из папки установки и на любой диск, но я ищу быстрый способ открыть cygwin в проводнике по пути, по которому я уже нахожусь.

Я добавил C: \ cygwin в путь и могу запустить Cygwin.bat из любого места (даже адресной строки проводника), но он открывается в мой домашний каталог cygwin. Как я могу изменить эту летучую мышь, чтобы позволить то, что я хочу, чтобы она делала?

Corey Ogburn
источник

Ответы:

1

Вы можете отредактировать ваш Cygwin.bat или, если хотите, создать второй пакетный файл, который будет выглядеть так ...

@echo off

C:
chdir %cd%

C:\cygwin\bin\bash.exe --login -i -c "cd '%cd%' && bash"

Запуск этого из Explorer должен дать вам то, что вы ищете.

Costa
источник
После удаления C: а также chdir %cd% это сделал именно то, что я хотел. С этими строками я получил оболочку bash в корне C. Я смотрел на команду -c, но я не думал о добавлении && bash чтобы Cygwin оставался открытым.
Corey Ogburn
1

Не совсем то, что вы спрашиваете, но очень полезно Cygwin's чере команда, которая устанавливает контекстное меню для окон каталогов в проводнике, чтобы открыть командную строку (или приглашение rxvt, или mintty) на этом уровне каталога.

Rich Homolka
источник
0

Я взял следующее из http://c2.com/cgi/wiki?BetterCygwinTerminal

//Make sure rxvt is part of your Cygwin install, and update your C:\cygwin\cygwin.bat to this:
@echo off
C:
chdir \cygwin\bin
start rxvt -sr -sl 10000 -fg white -bg black -fn fixedsys -fb fixedsys -tn cygwin -e /bin/bash --login -i

Поскольку bat-файлы могут принимать параметры, я не знаю, хотите ли вы передать текущий каталог во время вызова или просто иметь другой, но chdir строка выше - это то, что вы хотите изменить. Для настройки во время звонка (например, Cygwin.bat C: \ code)

@echo off
C:
chdir %1
start rxvt -sr -sl 10000 -fg white -bg black -fn fixedsys -fb fixedsys -tn cygwin -e /bin/bash -login -i

Конечно, вам понадобится некоторая логика if если бы еще параметр, если вы хотите реализовать обе опции, установить dir по умолчанию и также иметь возможность указать dir во время вызова.

MDMoore313
источник
Кажется, они меняются cmd каталог перед запуском rxvt. Как только rxvt запущен, его рабочий каталог запускается в домашнем каталоге моей установки cygwin.
Corey Ogburn