Cygwin + console2: запуск cygwin bash с пуском каталога
Я использую Console2 как обертку bash в Windows. Самое главное, это позволяет мне запустить новую вкладку bash в предопределенном каталоге проекта.
Теперь я хотел бы заменить командную строку Windows на Cygwin bash. Однако параметр "Startup Dir" в Console2 не соблюдается Cygwin.
В принципе, я вижу три подхода к решению:
- Выделите , как параметр Console2 должен выглядеть как, чтобы Cygwin bash уважал его
- Добавьте параметр запуска в Cygwin bash, установив каталог запуска
- Автоматически запускать script после bash запуска, который меняет каталог
Поиск в документации Cygwin и остальной части Интернета я не смог найти решение ни одного из этих подходов. Я мог представить, что решение тривиально кому-то другому.:)
среда: Win XP, Консоль 2.00.146, Cygwin 1.7.7, GNU bash 3.2.51 (24)
Ответы
Ответ 1
Что касается последней точки маркера, отредактируйте свой ~/.bashrc
и добавьте команду cd
в конце.
Вместо этого вы можете попробовать это для своей первой маркерной точки: если ваша конфигурация Console2 для запуска Bash выглядит примерно так:
bash --login -i
измените его на:
bash --login -i -c 'cd somdir; exec bash'
Ответ 2
У меня была такая же проблема, я увидел ваш пост и нашел этот ответ:
- Запустите программу установки Setup.exe Cygwin и добавьте пакет "chere"
- В Console2 добавьте новую вкладку под названием "Bash" с оболочкой "C:\cygwin\bin\ bash". См. Снимок экрана.
- Наконец, добавьте следующее в реестр:
Код:
Редактор реестра Windows версии 5.00
[HKEY_CLASSES_ROOT\Directory\shell\Открыть Cygwin здесь...]
[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/forum/viewtopic.php?p=8884
Ответ 3
- В программе установки Cygwin добавьте пакет "chere" (содержит/bin/xhere script)
- Используйте следующую команду оболочки в настройках Console2:
C:\cygwin\bin\bash.exe -c '/bin/xhere/bin/ bash'
Оболочка будет запущена в текущем рабочем каталоге или в указанном "Startup Dir".
Ответ 4
У меня были некоторые проблемы с некоторыми из вышеперечисленных подходов (окно 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%'`"
Ответ 5
Я попробовал варианты всего вышеперечисленного, но никто не работал. Это то, что сработало для меня с помощью 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.
fyi - Я оригинальный плакат, просто забыл сначала войти в свою учетную запись.
Ответ 6
Что касается последней точки маркера, вы можете указать, например:
cd /cygdrive/d
в ~/.bash_profile
Это будет достигнуто при использовании Console2, а также при запуске Cygwin.
Ответ 7
-
Измените директорию оболочки на:
bash --login -i -c 'cd /cygdrive/c/...; exec /bin/bash'
-
Добавьте эту строку в конец C:\cygwin\home\USERNAME\.profile
cd -