Я пользователь Mac и новичок в Windows. Как я могу выполнить сценарий оболочки в Windows?
Обычно я сохраняю текстовый файл с расширением .sh
и запускаю его через терминал. Но как я мог сделать это в Windows?
Я пользователь Mac и новичок в Windows. Как я могу выполнить сценарий оболочки в Windows?
Обычно я сохраняю текстовый файл с расширением .sh
и запускаю его через терминал. Но как я мог сделать это в Windows?
Сценарии с суффиксом .sh
обычно являются сценариями оболочки Bourne (или bash, или ksh, или zsh - все оболочки, полученные из оболочки Bourne). (Обратите внимание, что в 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 ; Я сам не знаком с этим, но слышал об этом много хорошего.
Вы можете использовать Cygwin. Это обеспечивает Linux как среду в Windows.
UWIN - это компьютерный программный пакет, созданный Дэвидом Корном, который позволяет создавать и запускать программы, написанные для операционной системы Unix, в Microsoft Windows с небольшими изменениями, если таковые имеются. Часть разработки программного обеспечения была заключена по контракту с Wipro, Индия.
Проверьте это UWIN - Unix для Windows
Существенные особенности UWIN
Использование UWIN
Недостатки UWIN
Это программное обеспечение использовалось, чтобы научить нас Linux Command, когда я учился в колледже ... действительно хорошо ...
Ссылка: WikiPedia
Cygwin - это Unix-подобная среда и интерфейс командной строки для Microsoft Windows.
Хорошо, что Cygwin обеспечивает встроенную интеграцию приложений, данных и других системных ресурсов на базе Windows с приложениями, программными инструментами и данными Unix-подобной среды.
Interix
Interix является компонентом Services for Unix (SFU) версий 3.0 и 3.5 (последний распространяется бесплатно).
Самые последние выпуски Interix, 5.2 и 6.0, являются компонентами выпусков Windows Server 2003 R2, Windows Vista Enterprise и Ultimate и Windows Server 2008 под названием SUA (подсистема для приложений на основе Unix). Версия 6.1 включена в Windows 7 (Enterprise и Ultimate) и Windows Server 2008 R2 (все выпуски)
Есть еще один способ сделать это с помощью обновления Anniversary для Windows 10. Теперь в Windows доступна оболочка Bash (Ubuntu).
Чтобы использовать его, вам нужно установить функцию, так как она не включена по умолчанию.
Зайдите в Control Panel
-> Programs
-> Turn Windows Features On and Off
.
Установите флажок для Windows Subsystem for Linux (Beta)
. Это установит функцию и предложит перезагрузить компьютер.
Затем вы можете открыть командную строку через run -> cmd
затем набрать bash
или run -> bash.exe
.
Это даст вам оболочку bash без виртуальной машины, Cygwin или virtualbox.
Несмотря на то, что существующие ответы здесь были правильными в то время, Windows 10 делает сейчас необязательно включать в себя модифицированную версию Ubuntu работает полный Баш оболочку.
После установки вы можете открыть приглашение bash (как и терминал в OS X/macOS) и запустить скрипт как обычно, то есть:
chmod +x myscript.sh
./myscript.sh
Если вы хотите запустить скрипт непосредственно из Windows, вы можете создать ярлык в том же каталоге и установить для «Target» что-то вроде:
C:\Windows\System32\bash.exe -c "./myscript.sh"
Если путь вашего сценария относительно местоположения ярлыка (как в примере выше), убедитесь, что поле «Начать с» также пустое.
Правильный ответ был дан в комментарии Kenaniah, вы должны использовать пакетные файлы. Вам нужно присвоить файлу кода оболочки имя * .bat, затем вы можете запустить его, щелкнув по нему или просто набрав его имя в терминале. Обратите внимание, что терминал Windows работает не так, как терминал Unix. Вы найдете много помощи и учебных пособий для команд и синтаксиса по всей сети. Существует также возможность использовать Windows PowerShell, которая кажется более похожей на Unix.
Вам понадобится CygWin, и тогда я верю, что вы сможете просто запустить:
sh yourscript.sh