2

Я могу запустить git-bash через командную строку Windows несколькими способами:

"C:\Program Files\Git\bin\sh.exe"
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\Git\usr\bin\mintty.exe"

Я хотел бы запустить git-bash в определенном каталоге с помощью такого вызова.


Для контекста, я делаю это из расширенного редактора SAS. Фактический звонок

%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);

Для тех, кто не знаком с SAS, %sysexec открывает экземпляр командной строки Windows и выдает любую команду, заданную в качестве аргумента. Это работает на удивление хорошо. Однако я хотел бы иметь возможность запускать git-bash в определенном каталоге, а не только дома.

Для этого я могу создать запись в .bashrc:

cd /c/new/starting/dir

Однако проблема заключается в том, что всякий раз, когда я открываю git-bash, например, через контекстное меню в определенной папке, каталог по умолчанию - это каталог .bashrc .

Я вижу, что существуют варианты запуска git-bash, такие как --cd-to-home или --cd=<path> но я не могу заставить их работать. Например,

"C:\Program Files\Git\bin\sh.exe" --cd-to-home
"C:\Program Files\Git\bin\sh.exe --cd-to-home"
"C:\Program Files\Git\git-bash.exe" --cd-to-home
"C:\Program Files\Git\git-bash.exe --cd-to-home"
etc.

Можно ли запустить git-bash в определенном каталоге из командной строки Windows? Если так, какой правильный синтаксис?

БОНУС: Бонусные баллы за выполнение 50 символов или менее

2 ответа2

1

Вы можете создать такой скрипт:

cd c:\path\to\particular\directory
"C:\Program Files\Git\bin\sh.exe" 

Сохраните его как whatever.cmd или whatever.bat и дважды щелкните по нему.

Для удобства вы можете добавить свой скрипт на панель задач, выполнив следующие шаги. Думаю, я бы включил это, так как это не так просто, как вы могли бы ожидать (нельзя просто перетащить сам скрипт на панель задач):

  1. щелкните правой кнопкой мыши скрипт и выберите "Создать ярлык"
  2. щелкните правой кнопкой мыши созданный вами ярлык и выберите "Свойства"
  3. Под Ярлыком, Цель, введите: cmd /c C:\path\to\your\script\whatever.cmd
  4. Примечание: вам может потребоваться указать полный путь к cmd (например, C:\Windows\System32\cmd.exe ...)

Теперь просто щелкните команду на панели задач, чтобы запустить сценарий одним щелчком мыши.

0

Одним из возможных решений является изменение каталога перед открытием git-bash. По умолчанию git-bash открывается в любом текущем каталоге. Чтобы сделать это, поместите вызов cd перед start ,

cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"

Поскольку это делается в SAS, конкретный каталог может храниться в макропеременной. Это гарантирует требование быть в пределах 50 символов (и, следовательно, вызываться с помощью горячей клавиши в меню KEYS ). Где-то в вашем коде вы можете назначить рабочий каталог Git,

%let gwd = C:\specific\dir\to\open;

%sysexec выглядит следующим образом

%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);

Это работает следующим образом. Во-первых, SAS будет расширяться &gwd . Затем он открывает командную строку Windows. Компакт- cd меняет каталоги на что угодно &gwd. разрешено Затем откроется Git-bash в текущем каталоге (который был изменен на &gwd.). Наконец, всякий раз, когда git-bash закрывается, выдается команда exit , закрывающая сеанс командной строки Windows.

К сожалению, кажется, что начальный cd вносит достаточно большой разрыв между вызовом и открытием git-bash, что раздражает. Я подозреваю, что ввод команды cd в git-bash может быть быстрее, но этот подход работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .