Bash file in windows

How to Execute SH Files on Windows

Bash shell script files are written in bash scripting language for Linux. It contains commands that you can normally run on the command line. These files can be called in Terminal to execute and can be opened by double-clicking. However, Windows does not know what an SH file is and how to execute it. If you are looking for a way to execute SH file in Windows then this article will provide you with all possible methods.

Execute SH files on Windows

What are the SH Files?

SH files (also known as script files) are the scripts that the Bash application programs and use. Bash language is used to write the instructions in these files. Program developers mostly use these files. Since they contain the commands to execute programs, they are indeed important. However, these files are for Linux, so executing them on Windows will require some software or environment that we will provide in methods of this article.

For further information about SH files, you can check our article here. Moving on towards methods for executing SH files on Windows.

Method 1: Using Cygwin to Execute SH Files

Cygwin is an open source command line interface environment similar to Unix. It allows Unix or Linux applications to be compiled and run on a Windows operating system from within a Linux-like interface. By using Cygwin, we can easily execute SH files without any problems.

  1. Go to the Official Cygwin site to download the 32bit or 64bit setup file: CygwinDownload site for Cygwin
  2. Open the downloaded setup file and follow the process of downloading and installing Cygwin. There are different options in the installation process so choose the ones you prefer.
  3. After installation, open Cygwin64 Terminal by double-clicking the shortcut on the desktop.
  4. Now use the following command to change directory to where the file exists:

This will change the directory to the desktop. Now type the following command to execute SH File:

Executing script file through Cygwin

Method 2: Using the Windows Subsystem for Linux Feature in Windows 10

The Windows Subsystem for Linux (aka WSL) is a feature that allows users to run Linux command lines on a computer with a Windows 10 operating system installed. This feature was first added to Windows 10 in 2016. Just like Linux has Wine software for running Windows software, now Windows has WSL for running Linux software. However, enabling and working through this feature will require many steps, which is why we divided this method into three major steps and they are listed as follow:

Step 1: Enabling the Windows Subsystem for Linux

  1. Hold Windows Key and Press R to open Run, then type appwiz.cpl and Enter. Opening Programs and Features
  2. Click on the Turn Windows Features on or off on the left side. Opening Turn Windows features on or off option
  3. Scroll down to the bottom and tick Windows Subsystem for Linux and click Ok to install. Enabling Windows Subsystem for Linux
  4. Once this is done, move to the next step.

Step 2: Installing a Linux Distro for the Windows

There are three different ways to install a distro for Windows. However, sometimes one of the methods will not work for a specific user, so we are going to provide all three methods below:

  1. Hold Windows key and press R to open Run, type ‘ms-windows-store:‘ without the quotation marks and Enter. Opening the Windows Store
  2. Search for Ubuntu. Click on the one that is shown below and download it: Downloading Ubuntu from Windows Store
  3. The second method is to use the following Power shell command to download Linux distro: Downloading distro through Power Shell
  4. The third method to download the distro is using the following curl command: Downloading distro through curl command

Note: If your Windows 10 build number is less than 1706 then you need to download curl manually and change directory to that location where curl.exe is located. However, if your windows 10 build number is 1706 or later then curl is included by default and you need to run cmd as an administrator.
Once you download a distro, it will start the installation automatically and you need to just agree and provide the new username and password as shown below:

Step 3: Initializing a Newly Installed Distro and Executing SH File

  1. Most distros that you will install comes with empty/minimal package catalog. So you need to update and upgrade the packages by using the following command: Updating and Upgrading packages
  2. Once you are done with the distro, now you can change directory to the SH file location by using the following commands:

This will mount your Windows drives. Now you can go to the location you want to:

Note: Since the sample file was on a desktop so we changed the directory to desktop.

  • Type the following command to execute the SH file: Changing directory and executing the SH file
  • Method 3: Using Git Command Line for Executing SH Files

    Git is a free and open source distributed version control system tool available for all operating systems. By default, Git is installed on Linux and macOS computers as a command line option. However, you can also download it from the official site for all operating systems.

      Go to the following link to download Git for your Operating System: Git

    Downloading Git for Windows

  • Open the downloaded setup file to install Git. Go through the installation process and do check the options which you want and which you don’t.
  • Hold Windows key and Press S to open search function, type Git Bash and Enter. Opening Git Bash
  • Change directory to where your file is located by the following command:

    Note: Desktop can be the name of the folder where your file is located.

  • Now type the SH executing command: Executing SH file in Git Bash
  • Method 4: Translate Script File into Batch File

    This method is not recommended for average users, but for the users who know script and bat files commands very well. You can just change the format and extension of SH file. It does require the skill of translating the script file into a batch file, so you should avoid using this method unless you know what format both these files use. We are going to show you the simple steps required for the sample code changes.

      Right-click on your SH file and choose Open with > Notepad.

    Opening SH file in Notepad
    Remove the shebang line from the code as shown below: Removing the shebang line

    Note: The comments will have a different syntax “::” than the one in this sample.

  • Click on the File and choose Save in the list to save the changes. Saving the changes
  • Left-click on the SH file and press F2 key to rename the file. You can also right-click on a file and choose rename. Changing the extension of the file

    Change the extension from .sh to .bat and click Yes for the changes.

  • Hold Windows key and Press S to open search function, then type cmd and Enter.
  • Change the directory to the path where the file is located by using the cd command:

    Note: Desktop can be the folder name that you are trying to access.
    Now simply type the name of the file with extension: Opening batch file in cmd

    However, you will notice that the syntax that works in script files are not working in a batch file. As you can see, the comment is being ignored and the text will be printed twice without echo ‘on/off’.

    Как установить и использовать оболочку Linux Bash в Windows 10

    Подсистема Windows для Linux (Windows Subsystem for Linux, WSL), впервые представленная в Windows 10 версии 1607, стала действительно стабильной функцией в Windows 10 (версия 1709). Теперь пользователи получают среду для тестирования Linux-приложений прямо внутри Windows, которая работает быстрее, чем в виртуальной машине.

    Что нужно знать про оболочку Bash в Windows 10

    Функция WSL на самом деле не является виртуальной машиной, контейнером или программным обеспечением Linux, скомпилированным для Windows. Windows 10 предлагает полноценную подсистему Windows 10, предназначенную для запуска программного обеспечения Linux. Подсистема основана на проекте Microsoft Astoria, который первоначально предназначался для запуска приложений Android в Windows.

    WSL можно рассматривать как противоположность Wine. В то время как Wine позволяет вам запускать приложения Windows прямо в Linux, подсистема Windows для Linux позволяет запускать приложения Linux непосредственно в Windows.

    При создании среды оболочки на базе Bash Ubuntu, Microsoft работала совместно с компанией Canonical. Оболочка работает поверх подсистемы и технически не является Linux. Linux является основным ядром операционной системы, которое недоступно в подсистеме. Вместо этого функция WSL позволяет запускать оболочку Bash и исполнять такие же бинарные файлы, которые работают в Ubuntu Linux. Многие сторонники открытого программного обеспечения считает, что операционную систем Linux правильно называть именно “GNU/Linux”, потому что на ядре Linux работает много программного обеспечения GNU. Оболочка Bash, которую вы получаете в Windows 10, как раз содержит утилиты GNU и другое программное обеспечение.

    Хотя эта функция изначально называлась “Ubuntu Bash в Windows”, она также позволяет запускать Zsh и другие оболочки командной строки. Сейчас поддерживаются и другие дистрибутивы Linux. Вы можете выбрать openSUSE Leap или SUSE Enterprise Server вместо Ubuntu, поддержка Fedora скоро будет реализована.

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

    Как установить Bash в Windows 10

    Данная функция не работает в 32-разрядной версии Windows 10, поэтому убедитесь, что вы используете 64-разрядную версию.

    Если вы используете 64-битную версию Windows, то для начала работы перейдите в Панель управления > Программы и компоненты > Включение и отключение компонентов Windows. Отметьте галочкой пункт Подсистема Windows для Linux и нажмите кнопку ОК.

    Затем нажмите “Перезагрузить сейчас”, чтобы перезапустить компьютер и применить изменения. Функция не будет работать до перезагрузки.

    Примечание: начиная с Windows 10 (версия 1709), чтобы использовать эту функцию вам больше не нужно включать режим разработчика в приложении Параметры. Вам просто нужно включить подсистему в окне “Компоненты Windows”.

    После перезагрузки ПК откройте Магазин Microsoft и выполните поисковый запрос “Linux”. Откроется список доступных для установки приложений.

    Примечание: начиная с Windows 10 (версия 1709), вы больше не сможете устанавливать Ubuntu, выполнив команду bash. Вместо этого вам нужно установить Ubuntu или другой дистрибутив Linux из Магазина Microsoft.

    Итак, вы увидите список всех дистрибутивов Linux, доступных в Магазине Microsoft. Начиная с Windows 10 (версия 1709), в магазине предлагаются Ubuntu, openSUSE Leap, openSUSE Enterprise, Debian Linux, Arch Linux и Kali Linux.

    Чтобы установить конкретный дистрибутив, выберите его и нажмите кнопку “Получить” или “Установить”. В результате запуститься обычная установка, как и в случае с другими приложениями из Магазина Microsoft.

    Если вы не знаете, какую среду Linux установить, мы рекомендуем Ubuntu. Этот популярный дистрибутив Linux был ранее единственным доступным вариантом, но теперь доступны другие системы Linux для различных нужд пользователей.

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

    Как использовать оболочку Bash и устанавливать программное обеспечение Linux

    После успешной установки вы получаете полноценную командную оболочку Bash на основе Ubuntu или другого выбранного дистрибутива Linux.

    Поскольку в системах Linux используются одинаковые бинарные файлы, вы можете использовать команды Ubuntu apt или apt-get, чтобы установить программное обеспечение из репозитория Ubuntu. Просто используйте любую команду, которую вы обычно используете в этом дистрибутиве Linux. У вас будет доступ ко всему программному обеспечению командной строки Linux там, хотя некоторые приложения могут работать не идеально.

    Чтобы открыть установленную среду Linux, просто откройте меню Пуск и выполните поиск любого дистрибутива, который вы установили. Например, если вы установили Ubuntu, запустите ярлык Ubuntu.

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

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

    Например, если вы введете “comss” и “qwerty” в качестве своих учетных данных, ваше имя пользователя в среде Linux будет “comss”, а пароль, который вы используете в среде Linux, будет “qwerty”, независимо от имени пользователя и пароля Windows.

    Вы можете запустить установленную среду Linux с помощью команды wsl. Если у вас установлено несколько дистрибутивов Linux, вы можете выбрать среду Linux по умолчанию, которую будет запускаться этой командой.

    Если у вас установлен Ubuntu, вы также можете запустить команду ubuntu для ее запуска. Для OpenSUSE Leap 42 используйте opensuse-42. Для SUSE Linux Enterprise Server 12 используйте sles-12. Эти команды перечислены на странице каждого дистрибутива Linux в Магазине Microsoft.

    Кроме того, вы можете запустить стандартную среду Linux, выполнив команду bash, но Microsoft заявляет, что данный метод устаревает. Это означает, что команда bash может перестать функционировать в будущем.

    Если у вас есть опыт использования оболочки Bash в Linux, MacOS или на других платформах, вы будете чувствовать себя уверенно.

    В Ubuntu нужно использовать префикс команд sudo чтобы запускать их с правами root. Пользователь “root” на платформах UNIX имеет полный доступ к системе, аналогично “Администратору” в Windows. Файловая система Windows расположена по пути в /mnt/c в среде оболочки Bash.

    В WSL можно использовать привычные команды терминала Linux. Если вы привыкли к стандартной командной строке Windows с ее командами DOS, вот несколько основных команд, общих для Bash и Windows:

    • Изменить директорию: cd в Bash, cd или chdir в DOS
    • Показать содержимое директории: ls в Bash, dir в DOS
    • Переместить или переименовать файл: mv в Bash, move и rename в DOS
    • Копировать файл: cp а Bash, copy в DOS
    • Удалить файл: rm в Bash, del или erase в DOS
    • Создать директорию: mkdir in Bash, mkdir в DOS
    • Использовать текстовые редактор: vi или nano в Bash, edit в DOS

    Важно помнить, что, в отличие от Windows, оболочка Bash и имитирующая ее Linux среда чувствительны к регистру. Другими словами, файл с названием “File.txt” отличается от файла с названием “file.txt”.

    Для установки и обновления программного обеспечения среды Ubuntu нужно будет воспользоваться командой apt. Обязательно прикрепите эти команды к sudo, что заставляет их запускаться от пользователя root. Ниже представлены базовые команды apt-get, которые вам нужно знать:

    • Загрузить обновленную информацию о доступных пакетах: sudo apt update
    • Установить пакет приложения: sudo apt install packagename (замените packagename на название пакета)
    • Удалить пакет приложения: sudo apt remove packagename (замените packagename на название пакета)
    • Выполнить поиск доступных пакетов: sudo apt search word (замените word на ключевое слово в названии или описании пакета)
    • Загрузить и установить новейшие версии установленных пакетов: sudo apt upgrade

    После того, как вы загрузили и установили приложение, вы можете ввести его имя в оболочку и нажать Enter для его запуска.

    Примечание: Программное обеспечение, которое вы устанавливаете в оболочке Bash, ограничено оболочкой Bash. Вы можете получить доступ к этим программам из командной строки, PowerShell или из другого места в Windows, но только если вы запустите команду bash -c.

    Дополнительно: установка родного шрифта Ubuntu

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

    Чтобы установить шрифт, сначала загрузите семейство шрифтов Ubuntu с веб-сайта Ubuntu. Откройте загруженный .zip-файл и найдите файл UbuntuMono-R.ttf. Это шрифт Ubuntu с фиксированный шириной, который используется только в терминале. Это единственный шрифт, который вам нужно установить.

    Дважды щелкните файл UbuntuMono-R.ttf, и вы увидите предварительный просмотр шрифта. Нажмите “Установить”, чтобы установить шрифт в систему.

    Чтобы моноширинный шрифт Ubuntu стал доступен в консоли, вам нужно добавить параметр в реестр Windows.

    Запустите редактор реестра, используя сочетание Windows + R , введя запрос regedit и нажав Enter.

    Перейдите по следующему пути:

    Щелкните правой кнопкой мыши в правой панели и выберите Создать > Строковый параметр . Назовите новое значение 000. Дважды щелкните на строке “000”, которую вы создали, а затем введите Ubuntu Mono в качестве значения.

    Затем запустите окно Ubuntu, щелкните правой кнопкой мыши строку заголовка и выберите команду “Свойства”. Перейдите на вкладку “Шрифт” и выберите “Ubuntu Mono” в списке шрифта.

    Читайте также:  Как создать свой сборник windows
  • Оцените статью