Есть ли способ запустить скрипты Bash в Windows? [закрытый]



Я купил и использую Windows 7 Ultimate, и мне нравится использовать его для разработки приложений. Одна из нижних сторон (как и в каждой ОС) заключается в том, что я не могу запускать скрипты Bash. Есть ли способ запустить сценарии Bash в Windows, установив некоторое программное обеспечение? Это нормально, если он не работает на 100%, но пока доступна наиболее распространенная функциональность, она должна быть отличной.

672   8  

8 ответов:

установить программа, который включает Bash среди многих других утилит GNU и Unix (без которых маловероятно, что bash будет очень полезен в любом случае).

другой вариант:MinGW в это префикса msys который включает в себя bash и меньший набор более важных утилит, таких как awk. Лично я предпочел бы Cygwin, потому что он включает в себя такие тяжелые подъемные инструменты, как Perl и Python, без которых я не могу жить, в то время как MSYS экономит на них и предполагает вас собираемся установить их самостоятельно.

Обновлено: Если кто-то заинтересован в этом ответе и работает под управлением MS-Windows 10, обратите внимание, что MS-Windows 10 имеет "Подсистема Windows Для Linux " функция, которая-после включения-позволяет установить образ пользовательского режима Ubuntu, а затем запустить Bash на этом. Это обеспечивает 100% совместимость с Ubuntu для отладки и запуска сценариев Bash, но эта установка полностью автономна от Windows, и вы не можете использовать Сценарии Bash для взаимодействия с функциями Windows (такими как процессы и API), за исключением ограниченного доступа к файлам через DrvFS характеристика.

Если вы ищете что-то более родное, вы можете использовать getGnuWin32 чтобы установить все средства командной строки unix, которые были перенесены. Это плюс winBash дает большинство рабочей среды unix. Добавить console2 для лучшего эмулятора терминала, и вы почти не можете сказать свой на windows!

Cygwin является лучшим инструментарием в целом, но я обнаружил, что столкнулся с удивительными проблемами из-за разделения между ним и окнами. Однако ни одно из этих решений не так хорошо, как родная система linux.

вы можете посмотреть в использовании virtualbox чтобы создать виртуальную машину linux с вашим дистрибутивом по выбору. Установите его для совместного использования папки с ОС хоста, и вы можете использовать истинную среду разработки linux и делиться с windows. Просто следите за этими маркерами EOL, они получают вас каждый раз.

вы всегда можете установить программа для запуска оболочки Unix под Windows. Я широко использовал Cygwin с Window XP.

после установки git-extentions (https://code.google.com/p/gitextensions/) Вы можете запустить файл .sh из командной строки. (Нет. /script.sh требуется, просто запустите его как файл bat / cmd) Или вы можете запустить их в "полной" среде bash с помощью оболочки MinGW Git bash.

Я не большой поклонник Cygwin (да, я уверен, что это действительно мощный), поэтому запуск скриптов bash на windows без необходимости устанавливать его идеально подходит для меня.

лучший вариант, который я мог бы найти это Git Windows просто установите его, а затем щелкните правой кнопкой мыши и нажмите "Git Bash Here" это откроет окно bashenter image description here

Это откроет окно bash следующим образом:enter image description here

и команды linux работают...

Я пробовал 'sh' , 'vi' , 'ssh', 'curl' и т. д... команды

лучший вариант? Windows 10. Родной Баш поддержка!

для того, чтобы запустить изначально, вам, вероятно, придется использовать Cygwin (без которого я не могу жить при использовании Windows). Так что сразу же, +1 для Cygwin. Все остальное было бы некультурно.

однако, как говорится, Я недавно начал использовать комбинацию утилит, чтобы легко переносить скрипты Bash в Windows, чтобы мои коллеги по анти-Linux могли легко запускать сложные задачи, которые лучше обрабатываются утилитами GNU.

обычно я могу портировать сценарий Bash для пакетной обработки очень короткое время, открыв исходный скрипт на одной панели и записав пакетный файл на другой панели. Инструменты, которые я использую следующие:

Я предпочитаю UnxUtils для GnuWin32 из-за того, что [кто-то, пожалуйста, поправьте меня, если я ошибаюсь] GnuWin utils обычно должны быть установлены, тогда как UnxUtils самостоятельные приложения, которые просто работают из коробки.

однако CoreUtils не включают некоторые знакомые утилиты *NIX, такие как cURL, которые также доступны для Windows (curl.haxx.se/download.html).

Я создаю папку для проектов, и всегда устанавливаю путь=. в.bat-файл, чтобы не ссылаться ни на какие другие команды, кроме основных команд оболочки CMD (а также на конкретные UnxUtils, необходимые в папке проекта для пакетного сценария, чтобы функционировать как ожидаемый.)

затем я копирую необходимые CoreUtils .exe файлы в папку проекта и ссылаться на них в.bat файл как ".\локон.ехе -ы google.com" и т. д.

программа Bat2Exe, где происходит волшебство. Как только ваш пакетный файл будет завершен и успешно протестирован, запустите Bat2Exe.exe и укажите путь к папке проекта. Bat2Exe создаст двоичный файл Windows, содержащий все файлы в этой папке, и будет использовать первый .летучая мышь, что дело доходит до использования в качестве основного исполняемого файла. Вы можете даже включать .ICO файл для использования в качестве значка для финала .EXE-файл, который генерируется.

Я пробовал несколько из этих типов программ, и многие из созданных двоичных файлов помечаются как вредоносные программы, но версия Bat2Exe, на которую я ссылался, отлично работает и генерируется .exe файлы сканируются полностью чистыми.

полученный исполняемый файл может быть запущен в интерактивном режиме, дважды щелкнув или запустить из командной строки с параметры и т. д., так же, как обычный пакетный файл, за исключением того, что вы сможете использовать функциональность многих инструментов, которые вы обычно используете в Bash.

Я понимаю, что это довольно долго, но если я могу немного отвлечься, я также написал пакетный скрипт, который я называю PortaBashy, который мои коллеги могут запускать из сетевого ресурса, содержащего портативную установку Cygwin. Затем он устанавливает переменную %PATH в нормальном формате *Никс (/usr/Бен: выполнить/sbin:/ОГРН: файл/sbin) и т. д. и можно либо запустить в оболочку Bash, либо запустить более мощный и симпатичный эмулятор терминала MinTTY.

всегда есть множество способов выполнить то, что вы пытаетесь сделать; это просто вопрос объединения правильных инструментов для работы, и много раз это сводится к личным предпочтениям.

есть еще одна теоретическая возможность сделать это: профессиональные версии Windows имеют встроенную поддержку POSIX, поэтому bash мог быть скомпилирован для Windows изначально.

жаль, но я до сих пор не нашел скомпилированный сам...

Comments

    Ничего не найдено.