cygwin + console2: запуск cygwin bash с загрузочным каталогом - PullRequest
18 голосов
/ 28 сентября 2010

Я использую Console2 как оболочку bash в Windows. Самое главное, это позволяет мне запускать новую вкладку bash в предопределенном каталоге проекта.

Теперь я хотел бы заменить командную строку Windows на Cygwin bash. Однако Cygwin не соблюдает настройку «Startup Dir» в Console2.

В принципе, я вижу три подхода к решению:

  • Выясните , как должен выглядеть параметр Console2 , чтобы Cygwin bash его учитывал
  • Добавить параметр запуска в Cygwin bash, установив каталог запуска
  • Автоматически запускать скрипт после запуска bash , который меняет каталог

Просматривая документацию Cygwin и остальную часть Интернета, я не смог найти решение ни одному из этих подходов. Я мог предположить, что решение тривиально для кого-то еще, все же. :)

среда: Win XP, консоль 2.00.146, Cygwin 1.7.7, GNU Bash 3.2.51 (24)

Ответы [ 7 ]

23 голосов
/ 28 сентября 2010

Что касается последней маркированной точки, отредактируйте ~/.bashrc и добавьте команду cd в конце.

Вместо этого вы можете попробовать это для своей первой маркированной точки: Если ваша конфигурация Console2для запуска Bash выглядит примерно так:

bash --login -i

измените его на:

bash --login -i -c 'cd somdir; exec bash'
6 голосов
/ 09 марта 2012

У меня возникла такая же проблема, я увидел ваш пост и нашел ответ:

  1. Запустите установщик Cygwin Setup.exe и добавьте пакет "chere"
  2. В Console2 добавьте новую вкладку под названием «Bash» с путем оболочки «C: \ cygwin \ bin \ bash». Смотрите скриншот.
  3. Наконец, добавьте в реестр следующее: Код:

Редактор реестра Windows, версия 5.00

[HKEY_CLASSES_ROOT \ Directory \ shell \ Открыть Cygwin Here ...]

[HKEY_CLASSES_ROOT \ Directory \ shell \ Открыть Cygwin Here ... \ command] @ = "\" C: \ Program Files \ Console2 \ Console.exe \ "-t Bash -r \" / bin / xhere /bin/bash.exe '% L' \ ""

Нашел это решение по адресу: http://www.e -texteditor.com / форум / viewtopic.php? Р = 8884

5 голосов
/ 28 февраля 2013

  • В установщик Cygwin добавьте пакет "chere" (содержит скрипт / bin / xhere)
  • Используйте следующую команду оболочки в настройках Console2:

    C: \ cygwin \ bin \ bash.exe -c '/ bin / xhere / bin / bash'

Оболочка будет работать в текущем рабочем каталоге или в указанном «Startup Dir».
3 голосов
/ 25 мая 2015

Я пробовал варианты всего вышеперечисленного, но ни один не работал.Вот что сработало для меня, используя Console2 v2.00.148:

1) .. Скопируйте Cygwin.bat в новый файл: Cygbash.bat.

2). Замените последнюю строкубыть таким: bash --login -i -c 'cd /cygdrive/c/; exec bash'

3). Зайдите в настройки Console2 и измените оболочку так, чтобы она указывала на этот новый файл Cygbash.bat.

Приведенное выше запустит Console2 в корневаш диск CК вашему сведению - я оригинальный постер, просто забыл сначала войти в мою учетную запись.

3 голосов
/ 21 января 2014

У меня были некоторые проблемы с некоторыми из описанных выше подходов (окно Console2 облажалось при использовании c: \ cygwin \ bin \ bash.exe в качестве оболочки, где мой рабочий каталог не отражает).

Итак, я создал этот командный файл и использовал его как оболочку Console2:

C: \ cygwin64 \ cygbash.bat:

C:\cygwin64\bin\bash --login -i  -c "/bin/xhere /bin/bash `cygpath -d '%CD%'`"
0 голосов
/ 07 января 2016
  1. Измените каталог оболочки на:

    bash --login -i -c 'cd /cygdrive/c/...; exec /bin/bash'

  2. Добавьте эту строку в конец C:\cygwin\home\USERNAME\.profile

    cd -

0 голосов
/ 24 января 2012

Что касается вашей последней точки, вы можете указать, например:

cd /cygdrive/d

в ~ / .bash_profile Это будет обнаружено при использовании Console2, а также при запуске самого Cygwin.

...