Для того, щоб запускати вдома, вам, швидше за все, потрібно буде використовувати Cygwin (без якого я не можу жити під час використання Windows). Тож одразу миша, +1 для Cygwin. Все інше було б нецивілізовано.
З цього моменту я нещодавно почав використовувати комбінацію утиліт, щоб легко PORT Bash-скрипти для Windows, щоб мої анти-Linux співробітники могли легко виконувати складні завдання, які краще справляються з утилітами GNU.
Зазвичай я можу перенести Bash-скрипт до Batch за дуже короткий час, відкривши оригінальний сценарій на одній панелі та записавши Пакетний файл на іншій панелі. Я використовую такі інструменти:
Я віддаю перевагу UnxUtils перед GnuWin32 через те, що [хтось, будь ласка, виправте мене, якщо я помиляюся] Утиліти GnuWin зазвичай мають бути встановлені, тоді як UnxUtils - це окремі бінарні файли, які просто працюють нестандартно.
Однак CoreUtils не включає деякі знайомі утиліти * NIX, такі як cURL, яка також доступна для Windows (curl.haxx.se/download.html).
Я створюю папку для проектів, і завжди SET PATH =. у файлі .bat, щоб ніякі інші команди, крім основних команд оболонки CMD, не посилалися (а також конкретні UnxUtils, необхідні в папці проекту, щоб сценарій Batch функціонував, як очікувалося).
Потім я копіюю потрібні файли 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.
Завжди є численні способи досягти того, що ви намагаєтеся зробити; це лише питання поєднання правильних інструментів для роботи, і багато разів це зводиться до особистих уподобань.