2013-07-01 3 views
2

Я хотел бы загрузить свою оболочку Cygwin в bash, но сразу после загрузки я хочу, чтобы она изменилась на конкретный каталог. Причина этого заключается в том, что я могу иметь несколько партий для запуска, чтобы попасть в определенные каталоги при первой загрузке cygwin без необходимости вводить cd каждый раз при загрузке. У меня есть несколько мест, которые я хочу загрузить, поэтому вы можете понять, почему использование нескольких командных файлов было бы полезно.Batch Command to Cygwin после загрузки Cygwin

До сих пор у меня есть это в моем файле demo_app.bat ...

@echo off 
start mintty -i /Cygwin-Terminal.ico - 
"cd /cygdrive/c/cygwin/home/Alex/rails_projects/demo_app/" 

Но Cygwin окно просто всплывает в моей домашней директории.

ответ

0

Я, наконец, нашел решение, которое искал.

Это позволяет мне писать несколько пакетных файлов в моей панели инструментов, что я могу просто щелкнуть, а затем прыгать прямо в определенной директории, что это происходит включать, в то время как в моем профиле Баш ...

start mintty /bin/env CHERE_INVOKING=1 /bin/bash --login -i -c 'cd /cygdrive/c/cygwin/home/Alex/rails_projects/demo_app/; exec bash' 

Спасибо для всех предложений.

+0

Аналогично, если я хочу перейти в другой каталог, просто напишу отдельный скрипт, который позволяет ему начинать там ... Я просто меняю 'cd/cygdrive ... 'часть – harmonickey

1

Предполагая, что вы используете bash, добавив следующую строку в ваш ${HOME}/.bashrc бы достичь желаемого результата:

cd /cygdrive/c/cygwin/home/Alex/rails_projects/demo_app/ 
+0

но я собираюсь иметь несколько командных файлов, идущих в разные каталоги, поэтому я не хочу просто иметь одно статическое место для моего bash, чтобы начать в – harmonickey

2

попробовать это:

Имя команды является cd и не должны быть в двойных кавычках.
Для получения дополнительной информации, пожалуйста, смотрите на anishsane's проводке :)

+0

Если mintty не выйдет, он не выполнит дальнейшую команду. Это решение не сработает. – anishsane

+0

Err .. это тоже не сработает. Пакет не знает '/ cygdrive/c'. – anishsane

+0

@anishsane ОК, я сдаюсь :) сделал редактирование .... – Endoro

2

Try:

@echo off 
cd C:\cygwin\home\Alex\rails_projects\demo_app 
start mintty -i /Cygwin-Terminal.ico 

ПРИМЕЧАНИЕ: Это будет начинаться с вашей оболочки в нужный каталог, но это не будет загружать среду по умолчанию.

Примечание: - отсутствует в конце mintty командной строки.

Смежные вопросы