Ответ 1
Поиграв немного больше, я нашел решение самостоятельно:
cmd "/C clean.bat"
делает трюк. Но я понятия не имею, почему...
У меня есть небольшая утилита 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
получает оценку, и все остальные параметры игнорируются.
Поиграв немного больше, я нашел решение самостоятельно:
cmd "/C clean.bat"
делает трюк. Но я понятия не имею, почему...
./clear.bat
выполнит трюк.
Git для Windows (msysGit был заменен на Git для Windows 1) FAQ говорит, что у вас есть 3 варианта:
Запустите программы, у которых есть проблемы с помощью утилиты winpty
. Это позволяет вам использовать более удобный терминал mintty, но может стать громоздким, если вам понадобится обходной путь для многих программ.
Измените ярлык для Git Bash для запуска bash
напрямую без mintty
, поэтому он использует консольный хост по умолчанию и настраивает его для "быстрого редактирования", разумного размера и прокрутки назад и подходящего Юникодный шрифт. Вам все равно придется жить с другими причудами консольного хоста.
Установите и используйте ConEmu.