How To Run Shell (.SH) Scripts In Windows

Key Points

  • To run shell scripts on Windows, you must enable WSL and Virtual Machine Platform, install a WSL distro, and use “Bash Script.sh” to execute it.
  • Alternatively, use third-party tools like Cygwin, Cmder to run Linux commands on top of Windows OS.

If you have worked with Linux distributions and repositories, you would know what shell scripts are. To run shell scripts on top of a Windows computer can be challenging, as the process is not quite straightforward.

Shell scripts are a piece of code written in plain text but have the “.SH” file extension. These are usually used to automate tasks and execute Linux or Unix packages. These are written in Bash and start with “#! /bin/sh“.

You do not need to install a Linux or Unix distribution alongside your Windows operating system to run a shell script. In this article, we’ll show you how to run a shell script on a Windows PC.

What are Shell (.SH) Files

The Linux/Unix operating system uses shell or .SH script files to perform certain tasks. In comparison, it can be substituted by Windows batch files for the Windows operating systems, which are used to execute commands on a computer.

The Batch language is a simple and interpreted programming language, unlike C++ or C#. However, you do not have to translate a shell script file to batch to perform similar tasks on a Windows computer, as you do on a Linux PC.

There are different methods to run the same .SH file on a Windows computer as on a Linux system. Let us show you how to run a shell file on a Windows PC.

Run Shell Script (.SH) File on Windows

There are both native and third-party methods to run shell files on a Windows computer. You can use Cygwin, or a third-party tool of your choice, to run a shell script on Windows OS. Alternatively, you can install the Windows Subsystem for Linux feature on Windows and then execute the shell script file through it.

Below you’ll find the methods to run the file using both methods.

Run Shell Script File using Windows Subsystem for Linux (WSL)

This section has been divided into 3 steps to make the process easier to understand. You must do the following 3 things to run a shell script file in the given order:

  1. Install WSL
  2. Install a Linux distro
  3. Run the shell script file

Note: If you are performing these steps on a Virtual Machine, then you will need to enable Nested Virtualization.

Install WSL

Use the following steps to install WSL on your computer:

  1. Press the Windows Key + R shortcut keys to open the Run Command box.

  2. Type in “optionalfeatures” and press Enter.

    Open the Optional Features applet
    Open the Optional Features applet
  3. Select “Windows Subsystem for Linux” and “Virtual Machine Platform,” and then click Ok.

    Enable WSL and Virtual Machine Platform
    Enable WSL and Virtual Machine Platform

    The wizard will now install WSL.

  4. When the installation is completed, click “Restart now.”

    Restart computer
    Restart computer

Once the computer restarts, it is time to install a Linux distro.

Install a Linux Distribution

Use the following steps to install a Linux distribution:

  1. When it restarts, press Windows Key + R again to open Run.

  2. Type in “cmd” and press CTRL + Shift + Enter to run Command Prompt as administrator.

  3. Run the following command to obtain a list of available Linux distros:

    wsl --list --online
    Get list of all available Linux distros in Command Prompt
    Get list of all available Linux distros in Command Prompt

    Note down the name of the distro you want to install.

  4. Use the following command to install the preferred distro while substituting its name:

    wsl --install -d [DistributionName]
    Install a Linux distro in WSL
    Install a Linux distro in WSL

    The distro will now begin to download and install.

  5. Set up a username and password.

    Set up username and password
    Set up username and password
  6. Restart the computer.

Now, the next step is to simply run the shell script file.

Run the Shell Script File

Follow the simple steps below to run the shell script file on a Windows PC:

  1. Press the Windows Key + R again to open Run.

  2. Type in “cmd” and press CTRL + Shift + Enter to run Command Prompt as administrator.

  3. Use the CD cmdlet to change the directory to the location of the shell script file.

    CD [PathToShellScriptFile]
    Change directory to the shell script file location
    Change directory to the shell script file location
  4. Now, use the following command to run the shell script file while substituting [ShellFileName] with the complete and correct name of the shell file:

    Bash [ShellFileName].sh
    Run the shell script file using Windows Subsystem for Linux
    Run the shell script file using Windows Subsystem for Linux

This is how you run a shell script (.SH) file on a Windows computer using WSL.

If this seems like a lengthy process for you, then you can also use the alternative method given below.

Run Shell Script File using Third-Party Tools

You can also run a shell script file on a Windows computer using a third-party tool. In the steps below, we have used Cygwin.

Follow these steps to run a .SH file on a Windows PC:

  1. First, download and install Cygwin from their official website.

  2. Once installed, run the Cygwin app.

  3. In the Cygwin terminal, use the CD command to change the directory to the shell script file location.

    Note: In Cygwin, the syntax to change the directory is different from Command Prompt or PowerShell. Use the following command syntax and example in the image to change your directory in Cygwin.

    CD /cygdrive/[driveLetter]/[Subfolder1]/[Subfolder2]
    Change directory to the shell script file location in Cygwin
    Change directory to the shell script file location in Cygwin
  4. Now, make the shell script file executable through this command:

    chmod +x [ShellFileName].sh
    Make the shell script file executable
    Make the shell script file executable
  5. Now, use the following syntax to run the shell script file:

    ./[ShellFileName].sh
    Run shell script file on Windows using Cygwin
    Run shell script file on Windows using Cygwin

These are the two methods to run shell script files (.SH) on a Windows PC. Of course, there are many other third-party tools available that allow you to run Linux and Unix files on a Windows computer.

Frequently Asked Questions (FAQs)

How to create a shell script (.SH) file?

I you know what you want to write inside the shell script file, all you need to do is follow these simple rules:
– Create a new notepad file
– Start the script with “#! /bin/sh”
– Write the code below it
– Save the file with a “.sh” extension
– To run the script, type “bash [FileName].sh” after navigating to the folder.

Can I run shell scripts on Windows?

Yes, shell script files can be executed on a Windows computer using Windows Subsystem for Linux, or third-party tools like Cygwin, kiTTY, ConEmu, Cmder, etc.

Why use shell scripts on Windows?

Shell scripts are used to perform repetitive tasks to save time and resources. They are also used to automate tasks. With the WSL feature, Microsoft has opened doors to natively run shell scripts on Windows operating systems.

If you liked this post, Share it on:
Subhan Zafar is an established IT professional with interests in Windows and Server infrastructure testing and research, and is currently working with Itechtics as a research consultant. He has studied Electrical Engineering and is also certified by Huawei (HCNA & HCNP Routing and Switching).

Leave the first comment

Get Updates in Your Inbox

Sign up for the regular updates and be the first to know about the latest tech information