Как запустить скрипт оболочки в Windows?
Я пользователь Mac и новичок в Windows. Как выполнить скрипт оболочки в Windows?
Обычно я сохраняю текстовый файл с расширением .sh
и запускаю его через Terminal. Но как я могу это сделать в Windows?
Я пользователь Mac и новичок в Windows. Как выполнить скрипт оболочки в Windows?
Обычно я сохраняю текстовый файл с расширением .sh
и запускаю его через Terminal. Но как я могу это сделать в Windows?
Скрипты с суффиксом .sh
обычно являются скриптами оболочек Борна (или bash, или ksh, или zsh - все оболочки, полученные из оболочки Борна). (Обратите внимание, что на Unix-подобных системах, включая MacOS, суффикс .sh
не нужен; операционная система смотрит на строку #!/bin/sh
в верхней части скрипта, чтобы определить, как его выполнить)
Windows не предоставляет оболочку, подобную Bourne.
Вы можете установить Cygwin , которая предоставляет Unix-подобное окружение под Windows – но у нее нет особенно “родного” окружения. (Редакционный комментарий: Cygwin отлично подходит для таких людей, как я, которым нужно использовать Windows, но на самом деле они предпочитают использовать Unix)
Существуют другие Unix-подобные подсистемы, которые работают под Windows, включая MinGW и пакет Windows Services for UNIX , предоставляемый Microsoft.
Или, вместо того, чтобы пытаться писать и запускать Unix-подобные командные скрипты, вы можете писать пакетные файлы для Windows. Обычно они имеют суффикс .bat
или .cmd
. Они используют те же команды и синтаксис, что и интерактивная командная строка Windows.
Есть также относительно новая Windows PowerShell ; я сам не знаком с ней, но слышал о ней много хорошего.
Есть еще один способ сделать это с помощью Anniversary update for Windows 10 . Теперь в Windows доступна оболочка Bash (Ubuntu).
Для ее использования необходимо установить эту функцию, так как она не включена по умолчанию.
Control Panel
-> Programs
-> Turn Windows Features On and Off
.
Установите флажок для Windows Subsystem for Linux (Beta)
. Это установит функцию и приглашение к перезагрузке.
Затем вы можете открыть приглашение к команде с помощью команды -> cmd
, затем наберите bash
или запустите -> bash.exe
.
Это даст вам оболочку bash, в которой нет виртуальной машины, Cygwin или виртуального ящика.
** А как же UWIN?** UWIN - это пакет компьютерных программ, созданный Дэвидом Корном, который позволяет создавать программы, написанные для операционной системы Unix, и запускать их на Microsoft Windows с небольшим количеством изменений, если таковые имеются. Часть разработки программного обеспечения была субподрядчиком компании Wipro, Индия.
Проверьте эту UWIN - Unix для Windows
Сложные возможности UWIN
Использование UWIN
Разрабатывать X-приложения на платформе Windows.
Недостатки UWIN
UWIN не поставляется в комплекте с X-сервером, поэтому пользователь не сможет запускать X-приложения на Windows. Хотя есть коммерческие X-серверы сторонних производителей, которые могут заполнить этот пробел.
UWIN не выпускается под GPL, но свободна для скачивания и использования в образовательных и некоммерческих целях
*Эта программа использовалась, чтобы научить нас Linux Command, когда я учился в колледже… действительно хорошая… *
Ссылка: WikiPedia Cygwin - это Unix-подобная среда и интерфейс командной строки для Microsoft Windows.
Хорошо то, что Cygwin обеспечивает естественную интеграцию приложений, данных и других системных ресурсов на базе Windows с приложениями, программными средствами и данными Unix-подобной среды.
Последние выпуски Interix, 5.2 и 6. 0, являются компонентами версий Windows Server 2003 R2, Windows Vista Enterprise и Ultimate, а Windows Server 2008 под названием SUA (Subsystem for Unix-based Applications) Версия 6.1 включена в Windows 7 (Enterprise и Ultimate) и Windows Server 2008 R2 (все версии).
Хотя существующие ответы здесь были правильными в то время, Windows 10 does теперь опционально включает модифицированную версию Ubuntu с полной оболочкой bash .
После установки вы можете открыть bash-интерфейс (также как и терминал в OS X/macOS) и запустить скрипт как обычно, т.е.:
chmod +x myscript.sh
./myscript.sh
Если вы хотите запустить скрипт непосредственно из Windows, вы можете создать ярлык в том же каталоге и установить ‘Target’ на что-то вроде этого:
C:\Windows\System32\bash.exe -c "./myscript.sh"
Если путь вашего скрипта относительно расположения ярлыка (как в примере выше), убедитесь, что поле ‘Start in’ также пустое.
Правильный ответ был дан в комментарии Kenaniah, вы должны использовать пакетные файлы . Вам нужно назвать свой shell-файл с кодом по адресу *.bat, затем вы можете запустить его, нажав на него, или просто ввести его имя в терминале. Обратите внимание, что оконный терминал работает не совсем так, как unix-терминал. Вы найдете много справки и уроков по командам и синтаксису в Интернете. Также существует возможность использовать Windows PowerShell , который кажется более похожим на unix.