Как создать и запустить скрипты командной строки Bash в Windows 10

В конце 2016 года Microsoft неожиданным образом объявила о партнерство с Linux Foundation, Сотрудничество нового века заключалось в том, чтобы сделать часть Linux для Windows 10 более удобной для разработчиков. Перенесемся в 2020 году, и, похоже, партнерство в значительной степени окупилось, поскольку проект претерпел некоторые значительные улучшения и вышел за пределы команд Linux Terminal. Теперь вы можете запускать программы Linux на основе GUI в Windows 10 без многих обходных путей. Мы попробовали несколько популярных приложений для Linux, и они безупречно работали на нашем ноутбуке с Windows. Итак, если вы хотите узнать, как устанавливать и использовать приложения Linux в Windows 10 в графическом пользовательском интерфейсе, следуйте нашему руководству шаг за шагом.

Установить программы Linux на Windows 10 с WSL

Здесь мы собираемся показать вам, как установить программы Linux на Windows 10 с помощью функции WSL (Windows Subsystem for Linux). Если вы не в курсе, WSL — это настоящее ядро ​​Linux, которое поставляется с Windows 10. Это не уровень совместимости или виртуальная машина в Windows 10, поэтому производительность остается на высшем уровне. Сказав все это, давайте без промедления перейдем к ступеням.

1. Прежде всего, включите Linux Bash Shell в Windows 10, если вы этого еще не сделали.

Замечания: Не обновляйте до WSL 2, так как в нем есть некоторые ошибки, которые блокируют программы Linux на основе GUI в Windows 10.

image

2. Теперь, когда вы настроили WSL 1, давайте установить приложение VcXsrv на вашем компьютере. Это приложение Windows Desktop Server, которое позволяет программам Linux работать в графическом интерфейсе пользователя. Во время установки оставьте все по умолчанию и завершите настройку, Наконец, VcXsrv начнет работать в фоновом режиме и будет сидеть в системном трее.

image

3. Затем вам может быть предложено диалоговое окно брандмауэра Windows. Установите флажок для частных сетей и нажмите на кнопку «Разрешить доступ»,

4. Теперь давайте установим программы Linux на наш ПК. Вы можете выбрать любую нужную программу прямо из Vim в Gedit и установить их в традиционном стиле Linux с использованием apt-get install команда, Для вашего прочтения пользователь GitHub создал список программ для Linux, которые хорошо работают на Windows 10 так проверьте это для получения дополнительной информации. Вот, например, я устанавливаю Gedit через терминал Linux.

sudo apt-get install gedit

5. После установки приложения выполните следующую команду, чтобы подключить VcXsrv Windows Server с Linux,

export DISPLAY=:0  

6. Сделав это, теперь запустите программу Linux так же, как в дистрибутивах Linux. Введите имя приложения и нажмите Enter, Программа для Linux мгновенно откроется в графическом интерфейсе Windows 10. Это потрясающе, верно?

gedit

7. Если вы хотите запустить несколько программ Linux одновременно, откройте оболочку Linux Bash в терминале Windows. Здесь вы можете использовать Linux Bash Shell на нескольких вкладках и выполнять команды одновременно. Все, что вам нужно сделать, это выполнить экспорт DISPLAY =: 0 команда в каждой вкладке и затем запустите программу Linux, как обычно. Здесь я использую VLC (на базе Linux) и Gedit рядом с Windows 10.

Программа Linux не открывается в GUI на Windows 10? Вот исправление

1. Как я уже говорил выше, проблема связана с последней сборкой WSL 2. Если вы уже на последнем обновлении, вам нужно перейти на WSL 1 вручную, Выполните приведенную ниже команду в Windows PowerShell, чтобы найти версию WSL.

wsl -l -v

2. Если отображается «версия 2», то выполните команду ниже, чтобы вернуться к WSL 1 что гораздо стабильнее и без ошибок. Процесс займет около 20-30 минут. После этого просмотрите вышеприведенное руководство, и приложения Linux начнут открываться в графическом интерфейсе без каких-либо проблем.

wsl --set-version Ubuntu 1

Запустите любую программу Linux на Windows 10 через WSL

Вот как вы можете устанавливать и использовать программы для Linux в Windows 10, используя потрясающую функцию WSL. Как видно, приложения Linux работают отлично и без сбоев. Однако, если вы хотите запускать мультимедийные приложения, вы можете столкнуться с некоторыми проблемами из-за проблем со звуком и микрофоном. Помимо этого, подсистема Windows для Linux является легальным способом, по крайней мере, для разработчиков, чтобы насладиться лучшим из обоих миров. Во всяком случае, это все от нас. Если вы хотите узнать больше таких советов и рекомендаций по Windows 10, следите за обновлениями у нас. И если у вас возникнут какие-либо проблемы, оставьте комментарий ниже и дайте нам знать.

После написания автором этих строк предыдущей статьи о Windows Subsystem for Linux прошло больше полугода. За это время Microsoft успела выпустить первое крупное обновление Windows 10 — Anniversary Update 1607, в котором все нововведения, включая WSL, теперь доступны любому установившему это обновление пользователю. WSL стала гораздо более проработанной и, пожалуй, «цельной».

По сравнению со сборкой Windows 10 14316, в которой впервые появилась подсистема Linux, в Windows 10 Anniversary Update подсистема выглядит вполне работоспособной и применимой на практике (настолько, насколько это возможно на данном этапе). Стабильность работы не вызывает нареканий. Забегая вперед, отмечу самое главное — в WSL появилась возможность запуска графического окружения и других GUI-программ (из числа DE это пока что Unity и Xfce), чего не было в предыдущих сборках Windows 10. Пока это было сделано неофициально, отдельными энтузиастами-линуксоидами, а не разработчиками WSL, но есть надежда, что официальная поддержка запуска полноценного Linux GUI в WSL лишь дело времени.

WARNING

Помни: сначала WSL необходимо установить. Из коробки подсистема не заработает.

WSL. Полгода спустя

Как я уже сказал, за последние полгода разработчики WSL успели основательно доработать эту подсистему, что упростило ее установку и настройку. А сама Microsoft успела стать «платиновым» членом Linux Foundation. Лет пятнадцать назад о таком нельзя было даже мечтать. В своем новом качестве Microsoft обязалась поддерживать все инициативы Linux Foundation в области открытого ПО и Linux и ежегодно перечислять в фонд 500 тысяч долларов США. Это, безусловно, большое достижение. В первую очередь для всего сообщества FOSS (free/libre and open-source software — бесплатное/свободное и открытое программное обеспечение). Через пятнадцать лет после того, как Стив Балмер назвал Linux раковой опухолью, новое руководство Microsoft оказалось куда более дальновидным и разумным.

Но вернемся к Windows Subsystem for Linux. Установка собственно Windows 10 проходит быстро и просто (почти как установка Ubuntu), и нет нужды описывать ее нашему читателю. Ты можешь выбрать либо обновление из предыдущей версии Windows 10, что займет в разы больше времени и сил, либо удалить предыдущую версию и установить систему с нуля (что я и сделал, и не из лени, а чистоты эксперимента для, чтобы система была, что называется, девственно-чистой). Автор этих строк вот уже больше года является бета-тестером Windows 10, и новые версии доступны ему бесплатно (от слова совсем). Если ты тоже бета-тестер, то у тебя должна быть лицензия на новые бета-релизы Windows 10.

В последнюю версию Windows, Anniversary Update 1607 — «юбилейное обновление» (непонятно, правда, что за юбилей у MS), WSL включается по умолчанию. Надо лишь активировать «Режим разработчика» в разделе «Обновление и безопасность», дождаться, пока система загрузит так называемый пакет разработчика, и перезагрузить компьютер. После чего запустить инструмент «Включение и отключение компонентов Windows», где выбрать пункт «Подсистема Linux для Windows…». И снова перезагрузить компьютер.

Другие статьи в выпуске:

Xakep #216. Копаем BitLocker

С появлением оболочки Bash Windows 10 вы можете теперь создавать и запускать сценарии оболочки Bash в Windows 10. Вы также можете включить команды Bash в командный файл Windows или сценарий PowerShell.

Даже если вы знаете, что делаете, это не обязательно так просто, как кажется. Windows и UNIX используют разные символы конца строки, а файловая система Windows доступна в другом месте в среде Bash.

Как написать сценарий Bash в Windows 10

При написании сценариев оболочки в Windows помните, что Windows и UNIX-подобные системы, такие как Linux, используют разные символы «конца строки» в текстовых файлах в сценариях оболочки.

Другими словами, это означает, что вы не можете просто написать сценарий оболочки в «Блокноте». Сохраните файл в «Блокноте», и он не будет правильно интерпретироваться Bash. Тем не менее, вы можете использовать более сложные текстовые редакторы, например, Notepad ++ позволяет вам предоставить файл конечных символов UNIX, нажав «Редактировать»> «Преобразование EOL»> «Формат UNIX / OSX».

Однако вам лучше просто написать сценарий оболочки в самой среде Bash. В среде Bash, основанной на Ubuntu, есть как редакторы vi, так и nano. Редактор vi более мощный, но если вы никогда не использовали его раньше, вы можете начать с nano. Это проще в использовании, если вы новичок.

Например, чтобы создать скрипт bash в nano, вы выполните следующую команду в bash:

nano ~/myscript.sh

Это откроет текстовый редактор Nano, указанный в файле с именем «myscript.sh» в домашнем каталоге вашей учетной записи пользователя. (Символ «~» представляет ваш домашний каталог, поэтому полный путь: /home/username/myscript.sh.)

Запустите сценарий оболочки с помощью строки:

#!/bin/bash

Введите команды, которые вы хотите запустить, каждый из которых находится в отдельной строке. Скрипт будет запускать каждую команду по очереди. Добавьте символ «#» перед строкой, чтобы рассматривать его как «комментарий», что поможет вам и другим людям понять сценарий, но который не запускается как команда. Для получения более совершенных трюков обратитесь к более подробному руководству по сценариям Bash в Linux. Те же методы будут работать в Bash на Ubuntu в Windows.

Обратите внимание: нет возможности запуска программ Windows из среды Bash. Вы ограничены командами и утилитами терминала Linux, так же, как и в обычной Linux-системе.

Например, давайте просто воспользуемся базовым сценарием «hello world» в качестве примера:

#!/bin/bash # set the STRING variable STRING='Hello World!' # print the contents of the variable on screen echo $STRING

Если вы используете текстовый редактор Nano, вы можете сохранить файл, нажав Ctrl + O, а затем Enter. Закройте редактор, нажав Ctrl + X.

Сделайте исполняемый файл сценария, а затем запустите его

Вероятно, вам понадобится сделать исполняемый файл сценария, чтобы вы могли легко запускать его. В Linux это означает, что вам нужно предоставить файлу сценария исполняемое разрешение. Для этого запустите следующую команду в терминале, указав ее на свой скрипт:

chmod +x ~/myscript.sh

Чтобы запустить скрипт, вы можете просто запустить его в терминале, введя его путь. Всякий раз, когда вы хотите запустить сценарий в будущем, просто откройте оболочку Bash и введите путь к скрипту.

~/myscript.sh

(Если скрипт находится в текущем каталоге, вы можете запустить его с ./myscript.sh)

Как работать с файлами Windows в сценарии Bash

Чтобы получить доступ к файлам Windows в сценарии, вам нужно указать их путь в / mnt / c, а не в пути к ним. Например, если вы хотите указать файл C: Users Bob Downloads test.txt, вам нужно указать путь /mnt/c/Users/Bob/Downloads/test.txt. Для получения дополнительной информации обратитесь к нашему руководству по расположению файлов в оболочке Bash Windows 10.

Как включить команды Bash в скрипт Batch или PowerShell

Наконец, если у вас есть существующий командный файл или сценарий PowerShell, в который вы хотите включить команды, вы можете запускать команды Bash напрямую, используя bash -c команда.

Например, чтобы запустить команду Linux в окне командной строки или PowerShell, вы можете запустить следующую команду:

bash -c 'command'

Этот трюк позволяет добавлять команды Bash в командные файлы или сценарии PowerShell. Окно оболочки Bash появится, когда запущена команда Bash.

Обновить: Если у вас установлено несколько Linux-сред, вы можете использовать команду wslconfig для выбора среды Linux по умолчанию, используемой при запуске bash -c команда.

Чтобы создать ярлык для сценария Bash изнутри Windows, просто создайте ярлык, как обычно. Для цели ярлыка используйте bash -c которую мы описали выше, и укажем на созданный вами сценарий Bash.

Например, вы укажете ярлык на ” bash -c '~/myscript.sh' Msgstr “запустить приведенный выше пример скрипта. Вы также можете просто запустить эту команду из окна командной строки или окна PowerShell.

Как написать сценарий Bash в Windows 10Сделайте исполняемый файл сценария, а затем запустите егоКак работать с файлами Windows в сценарии BashКак включить команды Bash в скрипт Batch или PowerShell Tweet Share Link Plus Send Send Pin

Krokodil707 , 12 февраля 2021, 12:31 Утилиты GNU/Linux могут упростить некоторые операции, а благодаря специальным инструментам их можно запустить и в Windows

Под GNU/Linux-дистрибутивы создано огромное количество полезных и удобных инструментов и приложений для обычных пользователей и разработчиков. Далеко не всё из этого доступно на Windows, но, к счастью, для ОС от Microsoft есть решения, исправляющие эту проблему.

Лучший Telegram-канал про технологии (возможно)

Содержание

WSL — официальная подсистема Linux внутри Windows CoreUtils — лёгкий инструмент для запуска базовых команд Cygwin — запуск команд и Bash-скриптов

WSL — официальная подсистема Linux внутри Windows

В Windows 10 существует крайне полезная вещь под названием Windows Subsystem for Linux (WSL). Она позволяет использовать GNU/Linux-среду прямо в Windows и запускать не только команды, но и, например, Bash-скрипты. Для использования WSL необходимо следовать инструкции ниже.

Шаг 1. Проверьте, подходит ли текущая версия Windows требованиям. Для этого нажмите сочетание клавиш Win+R, затем введите winver. Найдите строку «Сборка ОС» — она должна быть свежее версии 14316.

Шаг 2. Запустите стандартную утилиту PowerShell от имени администратора и введите в ней команду для включения WSL:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Шаг 3. Если версия Windows, определённая в первом пункте, свежее 18362, вы можете установить WSL 2, который в разы быстрее первой версии и обладает доработанным ядром. Введите команду ниже, если нужно установить WSL 2:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

После этого скачайте и установите пакет обновления с официального сайта.

Шаг 4. Перезагрузите компьютер. Если была произведена установка WSL 2, введите в PowerShell от имени администратора следующую команду:

wsl –set-default-version 2

Шаг 5. После перезагрузки откройте фирменный магазин приложений Microsoft Store и найдите подходящий GNU/Linux-дистрибутив. Самым популярным является Ubuntu — вы можете установить любую версию из представленных в Microsoft Store.

Шаг 6. Как только установка завершится, найдите дистрибутив в меню «Пуск» и запустите его.

Шаг 7. Пройдите этап первоначальной настройки, введя имя нового пользователя и придумав пароль.

Шаг 8. Теперь различные GNU/Linux-команды можно выполнять, запустив дистрибутив, либо введя в командной строке wsl <команда>. Например, для просмотра всех файлов в текущей директории достаточно в командной строке выполнить wsl ls -a.

Обращу внимание на то, что путь к дискам в WSL отличается от такового в Windows. Вместо привычного C:/ используйте /mnt/c/. Также не забывайте про экранирование пробелов с помощью символа — это также пригодится при вводе путей к файлам.

Помимо выполнения базовых команд, с помощью WSL можно даже запускать приложения с графическим интерфейсом. Правда, рассчитывать на большое количество поддерживаемых подобных программ не стоит.

Шаг 1. Загрузите X-сервер и установите его.

Шаг 2. Запустите его с помощью ярлыка на рабочем столе. В открывшемся окне выберите вариант Multiple windows, затем Start no client. Завершите настройку кнопкой Finish.

Шаг 3. Откройте дистрибутив через меню Пуск и выполните команду export DISPLAY=:0

Шаг 4. Запустив приложение с графическим интерфейсом в WSL, вы увидите новое окно прямо в Windows.

CoreUtils — лёгкий инструмент для запуска базовых команд

Плюс данной утилиты — возможность запуска не только на Windows 10, но и на более старых версиях ОС. Кроме того, она легка и не занимает много места. Не обошлось без недостатков — программа скудна на функционал и не обновлялась очень давно. Она не только не умеет запускать скрипты и приложения с GUI, но и поддерживает лишь самые базовые GNU/Linux-команды. Установка CoreUtils весьма проста.

Шаг 1. Скачайте утилиту с официального сайта.

Шаг 2. Следуйте инструкциям установщика.

Шаг 3. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:

C:Program Files (x86)GnuWin32bin

Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.

Шаг 4. Запустите командную строку и выполняйте команды прямо там.

Cygwin — запуск команд и Bash-скриптов

Ещё одна утилита, схожая с CoreUtils, но обладающая более широким функционалом — в том числе и возможностью запуска скриптов. Из минусов — немалый вес и более сложная установка. Разумеется, не идёт ни в какое сравнение с максимально удобным WSL, но для базовых команд вполне подойдёт.

Шаг 1. Загрузите Cygwin и запустите установку.

Шаг 2. Выберите Install from Internet, укажите директории для установки и загрузки пакетов, а также любой подходящий сайт из списка для скачивания файлов.

Шаг 3. В процессе установки можете выбрать необходимые пакеты, либо сразу нажать «Далее», оставив базовый набор.

Шаг 4. Откройте «Панель управления», в разделе «Система и безопасность» выберите пункт «Система». На панели слева откройте «Дополнительные параметры системы». Нажмите кнопку «Переменные среды» и в открывшемся окне найдите область с заголовком «Системные переменные». В случае, когда там есть переменная Path, выберите её, нажмите «Изменить» и далее создайте новую строку. Содержимым этой строки должен быть путь к папке, который был указан при установке. Если вы ничего не меняли, то введите следующее:

C:cygwin64bin

Переменной Path нет? Тогда для начала создайте её кнопкой «Создать», затем в поле имени введите Path, а в поле значения — строку выше.

Шаг 5. Команды можно выполнять как через командную строку, так и через специальный терминал.

Шаг 6. Для удаления Cygwin достаточно удалить папку, в которую программа была установлена, а также (по желанию) значение из переменной Path по методу, обратному тому, что был описан в 4 шаге (не удаляйте саму переменную).

Telegram-канал создателя Трешбокса про технологии Последнее изменение: 12 февраля 2021, 15:50

Шелл скрипты или .SH файлы похожи на командные файлы Windows, которые могут выполняться в Linux или Unix.

В Windows 10 можно запустить файл .sh или скрипт оболочки, используя подсистему Windows для Linux.

В этом руководстве мы покажем вам, как запустить файл скрипта оболочки в Windows 10.

Содержание

Как запустить файл .sh или скрипт шелла в Windows 10

Bash – это оболочка и командный язык Unix, который может запускать файлы скрипты .sh.

Вам не нужно устанавливать Ubuntu или любые другие дистрибутивы Linux, если ваши скрипты не нуждаются в поддержке реального ядра Linux.

Мы поделимся обоими методами.

  • Выполнить файл скрипт оболочки, используя WSL
  • Выполнить скрипт оболочки с помощью Ubuntu в Windows 10

1] Выполнить файл скрипта оболочки, используя WSL

Установите WSL или Windows Subsystem для Linux

Перейдите в Настройки> Обновление и безопасность> Для разработчиков.

Проверьте переключатель режима разработчика.

Поищите «Функции Windows», выберите «Включить или отключить функции Windows».

Прокрутите, чтобы найти WSL, установите флажок и установите его.

После этого необходимо перезагрузить компьютер, чтобы завершить установку запрошенных изменений.

Нажмите Перезагрузить сейчас.

BASH отныне будет доступен в командной строке и PowerShell.

Выполнить файлы скриптов оболочки

  • Откройте командную строку и перейдите в папку, где доступен файл скрипта
  • Введите Bash script-filename.sh и нажмите клавишу Enter.
  • Система выполнит скрипт, и в зависимости от файла вы должны увидеть вывод.

image

На платформе Linux вы обычно используете SH, но здесь вам нужно использовать BASH.

Тем не менее, BASH в Windows имеет свои ограничения, поэтому, если вы хотите выполнить их в среде Linux, вам нужно установить Ubuntu или что-то подобное.

2] Выполнить скрипт оболочки, используя Ubuntu в Windows 10

Убедитесь, что у вас установлена Ubuntu или любой другой дистрибутив Linux.

Ubuntu смонтирует или сделает все ваши каталоги Windows доступными в /mnt.

Таким образом, диск C доступен по адресу /mnt/C.

Таким образом рабочий стол будет доступен по адресу /mnt/c/users//desktop.

image

Теперь следуйте этим шагам

  • В командной строке введите Bash, и система запустит приглашение дистрибутива.
  • Перейдите в папку с помощью команды «cd» , где доступны скрипты.
  • Введите «sh script.sh» и нажмите Enter

Система выполнит скрипт

Поскольку Linux теперь доступен в Windows, вам не нужно использовать какие-либо сторонние приложения, такие как Cygwin.

WSL должно быть достаточно для большинства скриптов, чтобы помочь вам запустить эти самые крипты оболочки в Windows 10.

Оцените статью
Рейтинг автора
4,8
Материал подготовил
Егор Новиков
Наш эксперт
Написано статей
127
А как считаете Вы?
Напишите в комментариях, что вы думаете – согласны
ли со статьей или есть что добавить?
Добавить комментарий