Как я могу запустить новое окно Git Bash с указанным рабочим каталогом с помощью сценария (либо Bash, либо пакета Windows)?
Моя цель - запустить несколько окон Git Bash из одного скрипта, каждое из которых настроено в другой рабочий каталог. Таким образом, я могу быстро приступить к работе после загрузки компьютера, вместо того, чтобы открывать окна Git Bash и перемещать каждое из них в правильный рабочий каталог.
Я не спрашиваю, как изменить рабочий каталог по умолчанию, как в этом вопросе , а как запустить одно или несколько окон терминала с разными рабочими каталогами из сценария.
bash
shell
batch-file
git-bash
голокронный ткач
источник
источник
Ответы:
Другой вариант - создать ярлык со следующими свойствами:
Цель должна быть:
Start in - это папка, в которой вы хотите запускать приглашение Git Bash.
источник
Start in
что это связано с рабочим каталогом, в котором, по мнению программы, он находится.Git Bash использует
cmd.exe
для своего терминала и расширения от MSYS / MinGW, которые предоставляютсяsh.exe
своего родаcmd.exe
оболочкой. В Windows вы запускаете новый терминал с помощьюstart
команды.Таким образом, сценарий оболочки, запускающий новый терминал Git Bash с определенным рабочим каталогом, выглядит так:
(cd C:/path/to/dir1 && start sh --login) & (cd D:/path/to/dir2 && start sh --login) &
Эквивалентный пакетный сценарий Windows:
C: cd \path\to\dir1 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login D: cd \path\to\dir2 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
Чтобы получить тот же шрифт и размер окна, что и в Git Bash, запущенном из меню «Пуск», проще всего скопировать настройки ярлыка меню «Пуск» в значения по умолчанию для командной консоли (чтобы изменить значения по умолчанию, откройте
cmd.exe
, щелкните левой кнопкой мыши значок в верхнем левом углу и выберите По умолчанию).источник
cd
в каталог, который я хочу запустить Git Bash, а затем выполнениеstart
команды в вашем примере действительно даст мне терминал Git Bash в этом каталоге. Вы уверены, что не делаетеcd $HOME
(илиcd
без аргументов) где-то в ваших rc-файлах bash? (Например.bashrc
,.profile
...) Также помните букву диска. Если вы хотите запустить Git Bash наX:
диске, то выполнениеcd x:\path
этого не сработает, вам нужно сделать,x:
а потом иcd \path
раньшеstart
cd x:\path
. Соответственно отредактирую свое решение.cmd.exe
настройки по умолчанию не совпадают с настройками Git Bash по умолчанию при установке Git Bash! И вы должны понимать разницу между настройками по умолчанию (Defaults
из контекстного меню) и текущими (Properties
). Итак, что я сделал: (1) открыть Git Bash, выбратьProperties
(текущие настройки), (2) настроить его так, как я хочу (шрифт, размер окна + положение), (3) открытьcmd.exe
, выбратьDefaults
, (4 ) скопируйте и вставьте настройки из Git Bash вcmd.exe
. ЗатемOK
вcmd.exe
настройках,Cancel
вGit Bash
настройках и вуаля!Попробуйте опцию --cd =. Предполагая, что ваш GIT Bash находится в C: \ Program Files \ Git, это будет:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"
Если используется внутри раздела реестра, параметр папки может быть предоставлен с помощью% 1:
"C:\Program Files\Git\git-bash.exe" --cd="%1"
источник
%1
параметр реестра?Давайте еще добавим ответ от @Drew Noakes:
Цель:
"C:\Program Files\Git\git-bash.exe" --cd=C:\GitRepo
Параметр
cd
должен быть одним из вариантов указания рабочего каталога.Также обратите внимание, что у меня нет никаких
--login
параметров: вместо этого я использую другое дополнительное приложение, предназначенное только для ключей SSH: Pageant (агент аутентификации PuTTY) .Начинать:
Точно так же, как @Drew Noakes упомянул / показал здесь раньше, я тоже его использую.
Быстрая клавиша:
Такие ярлыки - еще одна менее известная функция Windows. Но есть ограничение: чтобы ярлык вступил в силу, его необходимо разместить где-нибудь в подкаталоге пользователя: Рабочий стол в порядке.
Если вы не хотите, чтобы он был видимым, но при этом можно было активировать, поместите этот
.lnk
файл, то есть в папку быстрого запуска, поскольку этот каталог предназначен для таких ярлыков. (неважно, отображается ли на рабочем столе) # 76080 # 3619355"\Application Data\Microsoft\Internet Explorer\Quick Launch\"
источник
Кроме того, Win10 дает вам возможность открыть git bash из вашего рабочего каталога, щелкнув правой кнопкой мыши папку и выбрав здесь GitBash.
источник
Windows 10
Это в основном ответ @ lengxuehx, но обновленный для Win 10, и предполагается, что ваша установка bash из Git Bash для Windows из официальных загрузок git .
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
В итоге я использовал это после того, как потерял пункты контекстного меню для Git Bash в качестве моей команды для запуска из настроек реестра. Если вам это интересно, я сделал следующее:
Bash
вshell
ключе наHKEY_CLASSES_ROOT\Directory\Background\shell
Icon
(не новый ключ!), Которое представляет собой полный путь к вашему git-bash.exe, включая часть git-bash.exe. Возможно, вам придется заключить это в кавычки.Bash
для текста, который вы хотите использовать в контекстном менюBash
вызываемомуcommand
command
значение по умолчанию наcmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") && exit
Затем вы сможете закрыть реестр и начать использовать Git Bash из любого места, где есть настоящий каталог. Например,
This PC
это не настоящий каталог.источник
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell\command
это"C:\Program Files\Git\git-bash.exe" "--cd=%v."
Это команда, которая может быть выполнена непосредственно в
Run dialog box
(ярлык win+ R), а также хорошо работает в виде.bat
сценария:cmd /c (start /d "/path/to/dir" bash --login) && exit
источник
/b
для Win 10Я не знаком с Git Bash, но предполагая, что это оболочка git (например,
git-sh
), находящаяся в/path/to/my/gitshell
и ваша любимая программа терминала называется `myterm ', вы можете написать следующее:(cd dir1; myterm -e /path/to/my/gitshell) & (cd dir2; myterm -e /path/to/my/gitshell) & ...
Обратите внимание, что параметр
-e
для выполнения может иметь другое имя в зависимости от вашей любимой программы терминала.источник
myterm
это cmd.exe с дополнениями через MSYS / MinGW. Чтобы запустить новый cmd, вы используете специальную для Windowsstart
команду, за которой следует путь к Git Bash,sh.exe
а затем любые параметры командной строки, которые вам нравятся. Мой ответ дает подробности.Возможно, я дал неверное направление, но мне нравится этот трюк.
Используя проводник Windows, указав любой каталог, который вы хотите, введите «cmd» в адресной строке, он откроет командную строку Windows в этом каталоге.
Если у вас есть каталог «Git» на вашем пути, таким же образом вы можете ввести «git-bash» в адресной строке, и в этом каталоге откроется оболочка Git.
источник