Предполагая, что у меня есть сценарий test.sh, который запускает сервер и установлен Git Bash, как создать ярлык Windows, который можно дважды щелкнуть, чтобы запустить tesh.sh в Git Bash на переднем плане и позволяет мне видеть выходные данные сервера?Ярлык Windows для запуска скрипта git bash
ответ
Git Баш уже пакетный файл с содержанием примерно так:
C:\WINNT\system32\cmd.exe /c ""C:\Git\bin\sh.exe" --login -i"
Если вы хотите запустить (и оставить работать) сценарий оболочки в контексте оболочки, указать его в команде линия. Хитрость заключается в том, что при интерпретации имени файла сценария он использует путь Windows, а не эквивалентный путь в среде sh/Git.
Другими словами, чтобы запустить файл D:\temp\test.sh
в оболочке Git и оставить ее работать, создать этот пакетный файл:
C:\WINNT\system32\cmd.exe /c ""C:\Git\bin\sh.exe" --login -i -- D:\temp\test.sh"
С другой стороны, если вы хотите запустить скрипт и получите свой оболочки обратно, вы должны:
- Открыть оболочки как
- Редактировать или создать
~/.profile
(попробуйтеvi ~/.profile
) - Добавьте эту строку:
~/test.sh
(ajdust пути, если это необходимо)
Так с .profile
, который выглядит следующим образом:
echo Executing .profile
/bin/sh ~/test.sh
И test.sh
который выглядит следующим образом:
echo Hello, World!
Вы получите следующее сообщение:
Welcome to Git (version 1.7.11-preview20120710)
Run 'git help git' to display the help index.
Run 'git help <command>' to display help for specific commands.
Executing .profile
Hello, World!
[email protected] ~
$
Я бы рекомендовал использовать переменную окружения %ComSpec%
, а не абсолютный путь к cmd
:
%ComSpec% /c ""C:\Program Files (x86)\Git\bin\sh.exe" --login -i"
или даже просто cmd
команду, которая, как правило, доступны % PATH%:
cmd /c ""C:\Program Files (x86)\Git\bin\sh.exe" --login -i"
, если ваш C:\Program Files (x86)\Git\bin
добавлен в PATH
(что также является распространенным решением и в одном случае на TortoiseGit ins Таллинг), вы можете использовать только:
cmd /c "sh --login -i"
Мне пришлось использовать cmd.exe (с расширением .exe), иначе он не будет работать. – Jon
проверьте переменную varialbe в PATHEXT, это должно быть что-то вроде этого .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC – radistao
'PATHEXT =. COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC; .PY; .PYW' – Jon
Других ответы работают, но есть более короткое решение, которое полностью отвечает вопрос, который был:
Как создать ярлык для Windows, который я можно дважды нажать, чтобы запустить
tesh.sh
в Git Bash
в ответ является: добавить следующую команду т о в Target:
поле ярлыка:
"C:\Git\bin\sh.exe" -l "D:\test.sh"
Где, -l
является коротким для --login
.
Чтобы лучше понять, что эта команда делает, консультируйтесь с официальными документами GNU о Invoking Bash:
-l
(--login
): включает оболочку, как если бы он был непосредственно вызван логином. Когда оболочка является интерактивной, это эквивалентно для запуска оболочки входа сexec -l bash
. Когда оболочка не является интерактивной, файлы запуска оболочки входа в систему будут выполнены.exec bash -l
илиexec bash --login
заменит текущую оболочку оболочкой входа Bash.
отметить также, что:
- Вам необходимо либо полный путь к
sh.exe
или иметь его в переменной окруженияPATH
(как другие уже указывали). - Если вам действительно нужно принудительно вызвать вызов оболочки в интерактивном режиме, вы можете добавить опцию
-i
- Последний параметр - это путь к скрипту, который должен быть выполнен. Этот путь должен быть в формате Windows.
+1 Отлично. Еще один совет: Сохраните свой скрипт \ *. Sh как UTF-8 (** нет ** 'Windows 1252', как и блокнот, и ** нет **' UTF8-BOM', например Visual Studio!) – Marcel
Обратите внимание, что это автоматически закрывает окно, когда сценарий завершается, поэтому ваш ответ не удовлетворяет требованию «позволяет мне видеть вывод сервера». Кроме того, запустив скрипт в обычном окне консоли, которое по умолчанию соответствует кодовой странице Windows OEM, вы можете столкнуться с проблемами кодировки символов. – mklement0
Лучшее решение, на мой взгляд:
Запускает правую раковину, никаких ненужных окон и вызывает Баш скрипт впоследствии; окно будет оставаться открытым после того, как сценарий выходит:
Создать ярлык для
mintty.exe
на рабочем столе, напримерредактировать свойства ярлыка и изменить цель (держать путь):
"C:\Program Files\Git\usr\bin\mintty.exe" -h always /bin/bash -l -e 'D:\folder\script.sh'
Хороший подход; Я предлагаю уточнить, что, хотя '-h всегда' держит _window_ открытым, _shell_ выходит, когда скрипт делает, поэтому окно эффективно доступно только для чтения в этой точке; Кроме того, я предлагаю удалить '-e' и, возможно, также' -l', потому что он не связан с вопросом OP (или, по крайней мере, _explain_, почему вы их добавили). – mklement0
- 1. Сценарий запуска Bash в Windows
- 2. centos7: создать сервис для запуска скрипта bash
- 3. Ubuntu BASH inotifywait для запуска другого скрипта
- 4. Как проверить скрипт bash без запуска скрипта?
- 5. Как добавить ярлык с помощью скрипта bash
- 6. Невозможно изменить git bash Windows shortcut
- 7. Ярлык для запуска всех рельсов?
- 8. Ярлык для запуска деятельности
- 9. Команда запуска при остановке скрипта bash
- 10. Git bash для Windows НЕ запрашивает пароль
- 11. Использование Leiningen в Git Bash для Windows
- 12. Git Bash Open Command Windows
- 13. Maven на Windows, хватит ли Git Bash?
- 14. Ярлык запуска/отладки запуска
- 15. Git bash black screen (windows)
- 16. Bash Ubuntu для Windows, используйте цветовую схему от Git Bash
- 17. Bash expand variable в Git Bash для Windows не работает?
- 18. Двойной вход для запуска скрипта
- 19. Как изменить местоположение по умолчанию для Git Bash в Windows?
- 20. Быстрый скрипт bash для запуска скрипта в указанной папке?
- 21. Как создать команду для запуска bash-скрипта в Mac-терминале?
- 22. Bash скрипт для запуска скрипта python в virtualenv
- 23. Помните, что переменная bash для запуска скрипта снова
- 24. Specifiy версия R для запуска при запуске скрипта из bash
- 25. php script для запуска скрипта bash, который запускает сканирующий искатель
- 26. Git Bash или Git Shell, что лучше для Windows?
- 27. .bash_history не обновляется в Git для Windows (git bash)
- 28. Git для Windows, запустите git bash без mintty?
- 29. Ярлык быстрого доступа к меню запуска Windows 8/10
- 30. Отступы вывода скрипта Bash
Aw esome, после того как я пересмотрел вопрос, я понял, что мне не нужно его возвращать в приглашение оболочки Gish Bash после выполнения скрипта. – konyak
Есть ли способ подавить четыре строки «Добро пожаловать в Git ...» в начале? – BillyTom
Нашел его уже - это просто текстовый файл: etc/motd – BillyTom