Гид по технологиям

Как создать и запустить shell-скрипт в Windows

6 min read Инструкции Обновлено 12 Dec 2025
Запуск shell-скриптов в Windows
Запуск shell-скриптов в Windows

TL;DR

Вы можете запускать shell-скрипты (.sh) в Windows через Windows Subsystem for Linux (WSL). Установите WSL, установите дистрибутив (например, Ubuntu) из Microsoft Store, создайте файл .sh в bash и выполните его через bash или sh. В статье — пошаговые инструкции, альтернативы, советы по отладке и рекомендации по безопасности.

shell script for windows

Shell-скрипт — это программа на языке shell (обычно Bash), которая чаще всего используется в Linux и других Unix-подобных системах. На Windows запуск shell-скриптов возможен, но требует дополнительных шагов и настройки среды. В этом руководстве показан пошаговый процесс создания и запуска shell-скрипта в Windows с акцентом на WSL. В конце — альтернативы, распространённые ошибки и рекомендации.

Что вам понадобится перед началом

  • Учётная запись администратора Windows для включения компонентов системы.
  • Подключение к интернету для загрузки компонентов и дистрибутива Linux.
  • Базовые знания командной строки (PowerShell / CMD) и простых команд bash.

Важное: команды ниже затрагивают системные компоненты. Сохраняйте важные данные и перезагружайте систему, когда это требуется.

1. Включение компонента Windows Subsystem for Linux (WSL)

  1. Нажмите Windows + I, чтобы открыть “Настройки”.
  2. Перейдите в раздел “Конфиденциальность и безопасность” и откройте пункт “Для разработчиков”. Settings - Privacy Security
  3. Включите переключатель рядом с “Режим разработчика” и подтвердите действие во всплывающем окне “Использовать функции разработчика”. Developer settings
  4. Нажмите на меню Пуск и введите “Включение или отключение компонентов Windows” (Turn Windows features). Откройте найденный пункт. Windows features - shell script for windows
  5. Найдите “Подсистема Windows для Linux (Windows Subsystem for Linux)” и установите флажок. Нажмите “ОК”. Windows Subsystem for Linux
  6. Следуйте инструкциям на экране и перезагрузите компьютер, чтобы завершить установку.

2. Установка Ubuntu и интеграция с WSL

  1. Откройте Microsoft Store (через поиск Windows).
  2. В Microsoft Store введите “Ubuntu” в строке поиска и выберите дистрибутив Ubuntu. Ubuntu -shell script for windows
  3. Нажмите “Получить” (Get) для загрузки и установки.
  4. После установки запустите приложение Ubuntu из меню Пуск.
  5. Дождитесь первичной настройки: будет установлена командная оболочка Linux на ваш диск. Ubuntu - shell script for windows
  6. Интеграция с WSL завершится автоматически.
  7. При появлении приглашения введите имя пользователя и пароль для Linux и сохраните их — они понадобятся для работы в окружении.

Совет: если у вас Windows 11/10 с поддержкой WSL2, рекомендуется использовать WSL2 для лучшей производительности и совместимости с Docker.

3. Создание shell-скрипта в WSL из проводника Windows

  1. Откройте проводник и перейдите в папку, где хотите создать файл. Нажмите Shift и правой кнопкой мыши кликните по пустому месту. Powershell  -shell script for windows
  2. В контекстном меню выберите “Открыть окно PowerShell здесь”.
  3. В PowerShell введите команду bash, чтобы перейти в bash-сессию WSL. Bash
  4. Чтобы быстро создать файл скрипта, можно выполнить: cat>filename.sh (замените filename.sh на нужное имя) и нажать Enter. После ввода содержимого нажмите Ctrl+C для завершения. catscript - create script

Альтернативный способ — создать файл через редактор vi сразу:

  • Введите vi filename.sh чтобы открыть файл для редактирования. vi script1.sh
  • Нажмите i для входа в режим вставки и добавьте содержимое, например:
#!/bin/bash
echo "Hello World"
  • После редактирования нажмите Esc, затем наберите :wq и нажмите Enter, чтобы сохранить и выйти.

Примечание: строка #!/bin/bash указывает, что скрипт должен выполняться с помощью bash.

Enter -shell script for windows

4. Запуск shell-скрипта

4.1 Через PowerShell (с использованием WSL)

  1. Перейдите в папку с файлом, нажмите Shift и щёлкните правой кнопкой по пустому месту.
  2. Выберите “Open PowerShell window here”.
  3. Введите bash и нажмите Enter, чтобы перейти в bash-сессию.
  4. Запустите скрипт командой: sh filename.sh или bash filename.sh и нажмите Enter. Hello world output -Enter -shell script for windows
  5. Вы увидите вывод скрипта в окне.

4.2 Через классическую командную строку (CMD)

  1. Откройте CMD (через поиск Windows введите “CMD” и откройте приложение).
  2. Перейдите в нужную директорию: cd /d E:/New folder (замените путь на ваш). Обратите внимание: в WSL пути между Windows и Linux отличаются — при запуске через bash используйте либо абсолютный путь в Windows, либо путь в формате WSL.
  3. Выполните: bash filename.sh и нажмите Enter. Bash output cmd -Hello world output -Enter -shell script for windows
  4. Результат появится в окне CMD.

5. Частые проблемы и как их решать

  • Скрипт не запускается: убедитесь, что в первом ряду #!/bin/bash и что вы запускаете файл через bash или sh. Также можно сделать файл исполняемым: chmod +x filename.sh и запустить ./filename.sh.
  • Различия в кодировке: файлы, созданные в Windows, могут иметь CRLF (\r\n). В bash рекомендуются LF. Преобразуйте с помощью dos2unix filename.sh если видите странные символы.
  • Путь к файлу: при запуске из WSL используйте пути вида /mnt/c/Users/... или запускайте bash из PowerShell/CMD, чтобы корректно увидеть путь.
  • Права доступа: файлы, находящиеся в файловой системе Windows (C:…), могут иметь отличительные проблемы с правами. Рекомендуется хранить сценарии в файловой системе WSL (обычно под /home/username) для наилучшей совместимости.

6. Альтернативные подходы (когда WSL не нужен или нежелателен)

  1. Git Bash — порт Bash из Git for Windows. Хорош для простых скриптов и разработчиков, привыкших к Git. Установка: установщик Git for Windows.
  2. Cygwin — более полный набор GNU-инструментов для Windows. Подходит для сложных сценариев, но требует настройки.
  3. MSYS2 — лёгкая среда с пакетным менеджером pacman; полезна для сборок и скриптов, требующих POSIX-среды.
  4. Использование контейнеров Docker с Linux-образами (если у вас Docker Desktop) — выполняйте скрипты внутри контейнера.

Когда альтернативы лучше: если вы не хотите включать системные компоненты (WSL) или нужны только отдельные утилиты, Git Bash или MSYS2 быстрее настроить.

7. Безопасность и лучшие практики

  • Не запускайте скрипты из непроверенных источников.
  • Устанавливайте минимальные права доступа: chmod 700 filename.sh если скрипт конфиденциальный.
  • Явно указывайте интерпретатор в первой строке (#!/bin/bash).
  • Логируйте важные действия и проверяйте коды возврата команд: command || exit 1.

8. Контроль версий и тестирование

  • Храните скрипты в системе контроля версий (например, Git).
  • Пишите простые автотесты: проверка синтаксиса bash -n filename.sh, тестовый прогон в изолированном окружении.
  • Используйте set -euo pipefail в скриптах для строгой обработки ошибок.

Справочник команд (шпаргалка)

  • bash filename.sh — выполнить скрипт через bash.
  • sh filename.sh — выполнить через sh (может отличаться от bash).
  • chmod +x filename.sh — сделать файл исполняемым.
  • ./filename.sh — запустить исполняемый файл в текущей директории.
  • dos2unix filename.sh — преобразовать CRLF → LF.
  • bash -n filename.sh — проверка синтаксиса без выполнения.

Роли и чек-листы

  • Разработчик:

    • Создать файл в репозитории.
    • [ ] Добавить shebang и set -euo pipefail.
    • Тестировать локально в WSL или контейнере.
    • Сделать код доступным для ревью.
  • Системный администратор:

    • Развернуть WSL/дистрибутив на целевых хостах.
    • Настроить резервное копирование и права доступа.
    • Добавить мониторинг и логирование выполнения задач.

Критерии приёмки

  • Скрипт запускается без ошибок на целевой среде (WSL/выбранная альтернатива).
  • Выполняет ожидаемые команды и возвращает код 0 при успехе.
  • Логирует ключевые шаги и корректно обрабатывает ошибки.

Короткая таблица совместимости

  • Windows + WSL2: рекомендуемый путь для полной совместимости с Linux.
  • Git Bash: быстрый и лёгкий; подходит для большинства простых задач.
  • Cygwin/MSYS2: для более глубоких POSIX-совместимых потребностей.

Заключение

Запуск shell-скриптов в Windows удобен и надёжен, если использовать WSL или одну из альтернатив. Для простых задач достаточно Git Bash; для производственных сценариев и контейнеризации лучше WSL2 и тестирование в изолированном окружении. Соблюдайте лучшие практики безопасности, контролируйте код в системе контроля версий и используйте проверку синтаксиса перед запуском.

Если у вас остались вопросы или нужна помощь по конкретному сценарию — напишите в комментариях.

Ключевые ресурсы и дополнительное чтение

  • Документация Microsoft по WSL — официальный источник настроек и запуска.
  • Руководства по Git Bash, Cygwin и MSYS2 — для альтернативных подходов.

Краткое резюме:

  • Установите WSL и дистрибутив Ubuntu из Microsoft Store.
  • Создайте файл .sh в bash, укажите shebang и сделайте исполняемым.
  • Запустите через bash filename.sh или ./filename.sh после chmod +x.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Сторонние cookie в Chrome Инкогнито — включить или заблокировать
Браузеры

Сторонние cookie в Chrome Инкогнито — включить или заблокировать

Разблокировать голоса синтеза речи в Windows 10
Windows

Разблокировать голоса синтеза речи в Windows 10

Как записать встречу в Zoom — полное руководство
Записи Zoom

Как записать встречу в Zoom — полное руководство

Выборочно скрыть значки на рабочем столе macOS
macOS

Выборочно скрыть значки на рабочем столе macOS

Транскрибировать и переводить аудио в Windows Copilot
Руководство

Транскрибировать и переводить аудио в Windows Copilot

Скроллинг‑скриншоты в Windows 11
How-to

Скроллинг‑скриншоты в Windows 11