Подтвердить что ты не робот

Из консоли git: как мне выполнить пакетный файл, а затем вернуться в консоль git?

У меня есть небольшая утилита script, называемая clear.bat, которая выполняет некоторые домашние работы в моих источниках.

Это файл .bat, чтобы я мог легко дважды щелкнуть его в проводнике Windows.

Иногда мне удобнее выполнять его из моего Git bash (msysgit, если это имеет значение).

Чтобы сделать это, введите

cmd
clear.bat
exit

cmd превращает мой Git bash в нормальное cmd окно, где я могу легко выполнить свою партию. Когда я набираю exit, среда cmd завершается, и я возвращаюсь в свой Git bash.

Может ли это быть достигнуто более простым способом?

Я пробовал cmd /C clean.bat, так как docs сказал

Syntax
      CMD [charset] [options]

      CMD [charset] [options] [/c Command] 

      CMD [charset] [options] [/k Command] 

Options   
   /C     Run Command and then terminate

   /K     Run Command and then return to the CMD prompt.
          This is useful for testing, to examine variables

Edit:
Просто заметил, что сообщение сломано.

Я хочу выполнить clean.bat из Git bash без необходимости вводить три команды выше (cmd, clear.bat, exit). Я просто хочу выполнить файл .bat из моего Git bash. Очевидным способом было бы создать отдельный файл .sh, который выполняет ту же работу, но это приведет к двойному коду.


Изменить 2: Когда я выполняю cmd /C clean.bat, Git bash превращается в обычную среду CMD и отображает только приглашение. Файл clean.bat не выполняется. Это так же, как если бы я просто набрал cmd.

Кроме того, добавление переключателя /debug делает буквально ничего. Похоже, что только cmd получает оценку, и все остальные параметры игнорируются.

4b9b3361

Ответ 1

Поиграв немного больше, я нашел решение самостоятельно:

cmd "/C clean.bat"

делает трюк. Но я понятия не имею, почему...

Ответ 2

./clear.bat выполнит трюк.

Ответ 3

Git для Windows (msysGit был заменен на Git для Windows 1) FAQ говорит, что у вас есть 3 варианта:

  • Запустите программы, у которых есть проблемы с помощью утилиты winpty. Это позволяет вам использовать более удобный терминал mintty, но может стать громоздким, если вам понадобится обходной путь для многих программ.

  • Измените ярлык для Git Bash для запуска bash напрямую без mintty, поэтому он использует консольный хост по умолчанию и настраивает его для "быстрого редактирования", разумного размера и прокрутки назад и подходящего Юникодный шрифт. Вам все равно придется жить с другими причудами консольного хоста.

  • Установите и используйте ConEmu.