Для запуска в исходном виде вам, вероятно, потребуется использовать Cygwin (без которого я не могу жить при использовании Windows). Так что сразу +1 за Cygwin. Все остальное было бы нецивилизованным.
ОДНАКО, как уже было сказано, я недавно начал использовать комбинацию утилит для легкого ПОРТИРОВАНИЯ сценариев Bash в Windows, чтобы мои коллеги по анти-Linux могли легко выполнять сложные задачи, которые лучше обрабатываются утилитами GNU.
Обычно я могу перенести сценарий Bash в пакетную обработку за очень короткое время, открыв исходный сценарий на одной панели и записав пакетный файл на другой панели. Я использую следующие инструменты:
Я предпочитаю UnxUtils GnuWin32 из-за того, что [кто-нибудь, пожалуйста, поправьте меня, если я ошибаюсь] утилиты GnuWin обычно должны быть установлены, тогда как UnxUtils - это автономные двоичные файлы, которые просто работают из коробки.
Однако CoreUtils не включает некоторые знакомые утилиты * NIX, такие как cURL, который также доступен для Windows (curl.haxx.se/download.html).
Я создаю папку для проектов и всегда УСТАНАВЛЯЮ ПУТЬ =. в файле .bat, чтобы не было ссылок на другие команды, кроме основных команд оболочки CMD (а также на конкретные UnxUtils, необходимые в папке проекта для того, чтобы сценарий пакетной обработки работал должным образом).
Затем я копирую необходимые файлы CoreUtils .exe в папку проекта и ссылаюсь на них в файле .bat, например ". \ Curl.exe -s google.com" и т. Д.
В программе Bat2Exe происходит волшебство. Как только ваш пакетный файл будет готов и успешно протестирован, запустите Bat2Exe.exe и укажите путь к папке проекта. Затем Bat2Exe создаст двоичный файл Windows, содержащий все файлы в этой конкретной папке, и будет использовать первый .bat, который будет использоваться в качестве основного исполняемого файла. Вы даже можете включить ICO-файл для использования в качестве значка для создаваемого окончательного EXE-файла.
Я пробовал несколько таких программ, и многие из сгенерированных двоичных файлов помечаются как вредоносные, но версия Bat2Exe, на которую я ссылался, работает отлично, а сгенерированные файлы .exe сканируются полностью.
Полученный исполняемый файл можно запустить в интерактивном режиме двойным щелчком или запустить из командной строки с параметрами и т. Д., Как и обычный пакетный файл, за исключением того, что вы сможете использовать функциональность многих инструментов, которые вы обычно используете. в Баш.
Я понимаю, что это занимает довольно много времени, но если я могу немного отвлечься, я также написал пакетный сценарий, который я называю PortaBashy, который мои коллеги могут запускать из общего сетевого ресурса, содержащего переносную установку Cygwin. Затем он устанавливает переменную% PATH% в обычный формат * NIX (/ usr / bin: / usr / sbin: / bin: / sbin) и т. Д. И может либо запускаться в самой оболочке Bash, либо запускать более мощную и симпатичный эмулятор терминала MinTTY.
Всегда есть множество способов выполнить то, что вы пытаетесь сделать; это просто вопрос сочетания правильных инструментов для работы, и во многих случаях все сводится к личным предпочтениям.