Як запустити скрипт оболонки в Windows? [дублікат]


23

Я користувач Mac і новачок у Windows. Як я можу виконати скрипт оболонки в Windows?

Як правило, я би зберегла текстовий файл із розширенням .shта запустила його через Terminal. Але як я можу це зробити в Windows?


1
Пакетні файли. en.wikipedia.org/wiki/Batch_file
Кенанія

2
Чи можете ви навести приклад сценарію, який очікується на роботу в Windows?

1
Ви хочете запустити вже існуючий .shскрипт оболонки? Або просто хочете знати, як скриптувати для Windows?
Келтарі

Відповіді:


30

Сценарії з .shсуфіксом - це, як правило, сценарії оболонки Борна (або bash, або ksh, або zsh - всі оболонки, отримані з оболонки Bourne). (Зверніть увагу, що в Unix-подібних системах, включаючи MacOS, .shсуфікс не потрібен; ОС шукає #!/bin/shрядок у верхній частині сценарію, щоб визначити, як його виконати.)

Windows не забезпечує оболонку, схожу на Борна.

Ви можете встановити Cygwin , який забезпечує середовище схоже на Unix під Windows - але воно не має особливо "рідного" середовища. (Редакційний коментар: Cygwin чудово підходить для таких людей, як я, яким потрібно користуватися Windows, але справді краще використовувати Unix.)

Існують і інші схожі підсистеми Unix, які працюють під Windows, включаючи MinGW та пакет Windows Services для UNIX, що надається Microsoft.

Або замість того, щоб намагатися писати та запускати сценарії оболонки, схожі на Unix, ви можете писати пакетні файли Windows. Зазвичай вони мають .batабо .cmdсуфікс. Вони використовують ті ж команди і синтаксис, що і інтерактивна командна лінія Windows.

Є також відносно новий Windows PowerShell ; Я сам з цим не знайомий, але чув про це хороші речі.


3
Я підтримаю пропозицію повноважень, як користувач, який створив декілька сценаріїв для того, щоб робити все, починаючи від перезавантаження віддаленого комп’ютера або вимкнення служб на віддаленому комп'ютері до витягування списку імен комп'ютерів з активного каталогу, алфавіту їх і тестування кожного на певні послуги та великі складні ходи файлів. Це може буквально зробити ВСЕ у Windows.
Paperlantern

1
Варто зазначити, що, хоча cygwin може дозволити запуск сценарію, він може не працювати належним чином, якщо він робить деякі припущення щодо базової системи (тобто доступні бінарні файли, макет файлової системи тощо)
Daenyth

7

Можна використовувати Cygwin . Він забезпечує середовище як Linux у Windows.


2

У програмі Win поширеними розширеннями є .batабо .cmd. Хорошим джерелом для команд, використовуваних у оболонці Windows, є ss64 - для CMD та PowerShell.

Сигвін не є "обов'язковим". Це просто надає вам стиль Linux - використовуйте BASH на Win.


2

Що з UWIN ??

UWIN - це пакет програмного забезпечення комп'ютера, створений Девідом Корном, який дозволяє програмам, написаним для операційної системи Unix, створювати та запускати в Microsoft Windows з невеликими, якщо такі є, змінами. Частина розробки програмного забезпечення була передана на субпідряд компанії Wipro, Індія.

Перевірте цей UWIN - Unix для Windows

Основні риси UWIN

  1. Доступ до майже всіх інструментів командного рядка від Unix у Windows. 245 інструменти командного рядка, щоб бути точним.
  2. Поставляється в комплекті з оригінальним компілятором Unix 'cc', а також безліччю інструментів, таких як 'make' та необхідних бібліотек, які дозволяють програмам Unix будувати та запускати на машинах Windows з дуже невеликими або відсутніми змінами вихідного коду.
  3. Можливість використання інших компіляторів, таких як Visual C ++ або Mingw для компіляції програм. Повноцінний пакет Perl.
  4. Бібліотеки X для тих, хто прагне розробити X додатків на Windows. Хоча для запуску цих програм у Windows вам потрібен X-сервер, який не входить у комплект UWIN.
  5. UWIN постачається з аплетом панелі управління (доступ до якого здійснюється через "Пуск-> Налаштування-> Панель управління-> UWIN"), який можна використовувати для налаштування деяких системних параметрів UWIN.

Використання UWIN

  • Запускайте додатки Unix у Windows в повній швидкості.
  • Використовуйте всю потужність інструментів командного рядка Unix у Windows.
  • Оболонка кукурудзи в комплекті з UWIN дозволяє користувачеві Unix відчувати себе як вдома в середовищі Windows.
  • Розробка та запуск програм UNIX у Windows.
  • Розробка програм X на платформі Windows.

Недоліки UWIN

  • UWIN не постачається в комплекті з сервером X, тому користувач не зможе запускати програми X на Windows. Хоча існують сторонні комерційні сервери X, які можуть заповнити цю прогалину.
  • UWIN не випускається під GPL, але безкоштовно завантажується та використовується для освітніх та некомерційних цілей

Це програмне забезпечення було використано для навчання нас Linux Command, коли я був у коледжі.


Літ: WikiPedia

Cygwin - це інтерфейс, подібний середовищу та командному рядку для 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 (усі видання)


2

Є ще один спосіб зробити це за допомогою оновлення ювілею для Windows 10 . Зараз у Windows існує оболонка Bash (Ubuntu).

Для його використання вам потрібно встановити цю функцію, оскільки вона не включена за замовчуванням.

  1. Перейдіть до Control Panel-> Programs-> Turn Windows Features On and Off.

  2. Установіть прапорець для Windows Subsystem for Linux (Beta). Це дозволить встановити функцію та запропонувати перезавантажити.

Тоді ви можете відкрити командний рядок через run ->, cmdа потім введіть bashабо run -> bash.exe.

Це дасть вам оболонку bash без віртуальної машини чи Cygwin чи virtualbox.


1

Незважаючи на те, що існуючі відповіді тут були правильними в той час, Windows 10 має в даний час не обов'язково включати в себе модифіковану версію Ubuntu працює повний Баш оболонку .

Після встановлення ви можете відкрити bash-підказку (так само, як і термінал в OS X / macOS) і запустити сценарій як завжди, тобто:

chmod +x myscript.sh
./myscript.sh

Якщо ви хочете запустити сценарій безпосередньо з Windows, ви можете створити ярлик у тому самому каталозі та встановити "Ціль" на щось подібне:

C:\Windows\System32\bash.exe -c "./myscript.sh"

Якщо шлях вашого сценарію відповідає розташуванню ярлика (наприклад, у наведеному вище прикладі), переконайтеся, що поле "Почати в" також порожнє.


0

Вам знадобиться CygWin, і тоді я вірю, що ви зможете просто запустити:

sh yourscript.sh

0

Правильна відповідь була дана в коментарі Кенанії, ви повинні використовувати пакетні файли . Вам потрібно назвати файл коду оболонки на * .bat, після чого ви можете запустити його, натиснувши на нього або просто ввести його ім'я в термінал. Зауважте, що термінал Windows працює не так, як термінал Unix. Ви знайдете багато допомоги та навчальних посібників для команд та синтаксису в усьому Інтернеті. Існує також можливість використовувати Windows PowerShell , який здається більш схожим на unix.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.