Как запустить скрипт bash в windows 10

  • 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.

Table of Contents

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
  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.

How to Create and Run Bash Shell Scripts on Windows 10

Bash, or the Bourne Again SHell, is a command-line interface that is widely used in Linux and MacOS environments. It’s renowned for its powerful scripting capabilities. In recent years, Microsoft has made it easier for Windows users to harness the power of Bash scripts through the Windows Subsystem for Linux (WSL). In this article, we’ll explore how to set up your Windows 10 system to create and run Bash shell scripts effectively.

Introduction to Bash and Shell Scripts

A shell script is a text file containing a sequence of commands for a Unix-based operating system. These commands are executed by the shell, which serves as an interpreter. Bash, being one of the more popular shells, allows users to automate repetitive tasks, manage system operations, and enhance productivity through scripting.

Setting Up the Windows Subsystem for Linux (WSL)

Before creating and executing Bash scripts, you must first install WSL on Windows 10.

  1. Check for Windows Version:

    • Ensure that your Windows 10 version is 16215 or higher. You can check this by typing winver in the Run dialog (Win + R).
  2. Enable WSL:

    • Open the Control Panel and click on Programs.
    • Under Programs and Features, click on Turn Windows features on or off.
    • In the Windows Features dialog, check the box for Windows Subsystem for Linux.
    • Click OK and restart your computer when prompted.
  3. Installing a Linux Distribution:

    • After enabling WSL, you need to install a Linux distribution from the Microsoft Store. Popular distributions like Ubuntu, Debian, or Kali can be installed.
    • Simply search for the desired distribution in the Microsoft Store, and hit Get to install it.
  4. Initial Setup of Linux Distribution:

    • Once installed, launch the Linux distribution from the Start menu. The first time you run it, you will be prompted to create a user account with a username and password.
  5. Updating the Package Manager:

    • Once inside the Linux shell, it’s a good idea to update the package manager. For Ubuntu, you can run:
      sudo apt update && sudo apt upgrade -y

With WSL installed, you can now create and run Bash shell scripts on Windows just as you would in a traditional Linux environment.

Creating Your First Bash Script

Now that you have WSL set up, let’s create a simple Bash script.

  1. Open the Linux Shell:

    • Launch your Linux distribution from the Start menu.
  2. Choosing a Text Editor:

    • You can use any text editor available in your Linux environment. Popular options include nano, vim, and gedit. For beginners, nano is usually the most user-friendly:
      nano my_first_script.sh
  3. Writing the Script:

    • Start your script with a shebang line to indicate which interpreter should execute the script. For Bash, this is:
      #!/bin/bash
    • You can then add your desired commands. Here’s an example script:
      #!/bin/bash
      echo "Hello, World!"
    • Save and exit the editor. In nano, you can do this by pressing CTRL + X, then Y to confirm saving, and Enter to write the file.
  4. Making the Script Executable:

    • Before you can run your script, you need to change its permissions to make it executable:
      chmod +x my_first_script.sh
  5. Running the Script:

    • Now you can execute your script by prefixing it with ./:
      ./my_first_script.sh

Understanding Bash Scripting Syntax

To create more complex and functional scripts, it’s imperative to understand some fundamental elements of Bash scripting.

  1. Variables:

    • You can declare variables by simply assigning a value without spaces:
      my_var="This is a variable"
      echo $my_var
  2. Input and Output:

    • Reading user input can be done using the read command:
      echo "Enter your name:"
      read name
      echo "Hello, $name!"
  3. Conditional Statements:

    • Bash provides conditional statements such as if, else, and case for decision-making:
      if [ "$name" == "Alice" ]; then
       echo "Hello, Alice!"
      else
       echo "You are not Alice."
      fi
  4. Loops:

    • Utilize loops to perform repetitive tasks:
      for i in {1..5}; do
       echo "Number: $i"
      done
  5. Functions:

    • Functions can make your scripts modular and organized:
      function greet {
       echo "Hello, $1!"
      }
      greet Alice
  6. Comments:

    • Use the # symbol to add comments in your scripts for clarity:
      # This is a comment

Advanced Scripting Concepts

To enhance your Bash scripts, consider the following advanced topics.

  1. Using Arguments:

    • You can pass arguments to your scripts, which can be accessed using $1, $2, etc.
      #!/bin/bash
      echo "First argument: $1"
  2. Error Handling:

    • Use conditional checks and return statuses to manage errors in your scripts:
      if ! command; then
       echo "Error executing command."
      fi
  3. Redirection:

    • You can redirect the output of commands to files:
      echo "Logging output" >> logfile.txt
  4. Pipelines:

    • Pipe output from one command to another to create complex command sequences:
      cat file.txt | grep "pattern"
  5. Arrays:

    • Bash supports one-dimensional arrays:
      my_array=(apple banana cherry)
      echo ${my_array[1]}  # Outputs: banana
  6. Using External Commands:

    • You can invoke any command-line tool available in your WSL environment:
      curl -I https://www.example.com

Creating Practical Bash Scripts

With the foundational knowledge of Bash scripting, you can create various practical scripts to improve your workflow. Below are some ideas for Bash scripts:

  1. Backup Script:

    • A script that backs up important files to a specified directory.
      #!/bin/bash
      cp -r ~/important_files ~/backup/
      echo "Backup completed!"
  2. System Maintenance Script:

    • Automate system updates and cleanup commands.
      #!/bin/bash
      sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y
      echo "System updated!"
  3. File Naming Script:

    • Rename files in bulk according to a specific pattern.
      #!/bin/bash
      for file in *.txt; do
      mv "$file" "new_prefix_$file"
      done
      echo "Files renamed!"
  4. User Management Script:

    • A script to add and manage users in your Linux environment.
      #!/bin/bash
      read -p "Enter username: " username
      sudo adduser "$username"
      echo "User $username has been added."
  5. Monitoring Scripts:

    • Create scripts that check system health and resource usage, sending alerts when thresholds are exceeded.
      #!/bin/bash
      if [ $(free | awk '/Mem/{printf("%.0f"), $3/$2*100}') -gt 80 ]; then
      echo "Memory usage is above 80%!"
      fi

Debugging and Error Checking in Bash Scripts

Debugging is a crucial part of the development process. Here are some methods to debug your scripts:

  1. Debugging Option:

    • You can run a script in debug mode using the -x option:
      bash -x my_script.sh
  2. Set -e Option:

    • Adding set -e at the beginning of your script exits the script when a command fails:
      set -e
  3. Logging:

    • Direct output and errors to a log file for later review:
      my_command >> my_log.txt 2>&1
  4. Use of Echo Statements:

    • Embed echo statements throughout your script to check the flow of execution and variable values.

Conclusion

Creating and running Bash shell scripts on Windows 10 empowers users to harness automation and optimizations to their tasks. With WSL, Microsoft has effectively bridged the gap between Windows and Linux, allowing a seamless experience for developing scripts and managing tasks.

By following the steps outlined in this article, you can set up a functional Bash environment on your Windows device, write simple to advanced scripts, and manage various tasks with efficiency. As you gain proficiency in Bash scripting, you’ll find countless opportunities to simplify your workflows and improve productivity.

Whether you’re just starting or looking to expand your scripting skills, the knowledge you gain from this journey will undoubtedly enhance your capabilities as a user and developer in various environments.

Happy scripting!

To run a Bash script on Windows, you can use the Windows Subsystem for Linux (WSL) or Git Bash to execute your script directly from the command line.

Here’s a code snippet to run a Bash script:

bash your_script.sh

Understanding Bash Scripts

What is a Bash Script?

A Bash script is a file that contains a series of commands that the Bash interpreter can execute. These scripts enable you to automate tasks that you would normally perform in the command line interface, making repetitive tasks easier and more efficient. Common use cases for Bash scripts include automating backups, running scheduled tasks, and managing system resources.

The Benefits of Using Bash Scripts

Using Bash scripts has several advantages:

  • Efficiency: By automating repetitive tasks through scripts, you save time and reduce the possibility of human error.
  • Flexibility: Bash scripts can be used in conjunction with various tools and commands available in a Unix-like environment, extending their capabilities.
  • Cross-Platform Nature: Bash scripts can often be run on different operating systems, allowing for more versatile development and deployment options.

Bash Script Options: A Quick Guide to Mastering Choices

Bash Script Options: A Quick Guide to Mastering Choices

Prerequisites for Running Bash Scripts on Windows

Setting Up the Environment

Windows Subsystem for Linux (WSL)

Windows Subsystem for Linux (WSL) enables you to run a Linux distribution alongside your Windows operating system. This allows you to execute Bash scripts natively within a Linux environment. To enable WSL on Windows 10 or 11, follow these steps:

  1. Open PowerShell as Administrator.
  2. Run the command:
wsl --install
  1. Restart your computer.

After installation, you can choose a Linux distribution like Ubuntu from the Microsoft Store.

Installing a Bash Shell

Using Ubuntu / Debian on WSL

Once WSL is enabled, install a Linux distribution from the Microsoft Store. Simply search for «Ubuntu» or «Debian» and click the «Install» button. Upon successful installation, launch the application to complete the setup.

Alternatives

If you prefer not to use WSL, you can opt for Git Bash or Cygwin. Both environments provide a Bash-like experience on Windows.

Run Bash Script: Your Quick-Start Guide to Success

Run Bash Script: Your Quick-Start Guide to Success

Executing Bash Scripts on Windows

Creating a Bash Script

Writing a Bash script begins with a text editor. Here’s how to create a simple Bash script called `hello.sh` that prints «Hello, World!».

#!/bin/bash
echo "Hello, World!"

The first line, known as the shebang (`#!/bin/bash`), indicates which interpreter should be used to run the script.

Running Bash Scripts in WSL

Navigating the Terminal

To run Bash scripts within WSL, you must first open your chosen Linux distribution terminal and navigate to the directory where your script is saved. You can use basic terminal commands such as `cd` (change directory) and `ls` (list files).

Execution Commands

There are two main methods to execute your Bash script in WSL:

  • Basic Execution: You can run the script directly by typing:
bash hello.sh
  • Making it Executable: To run the script without having to prefix it with `bash`, you can make it executable:
chmod +x hello.sh

After this, you can execute it using:

./hello.sh

Running Bash Scripts in Git Bash

Setting Up Git Bash

To use Git Bash, you first need to install Git for Windows. You can find the installer on the [official Git website](https://git-scm.com/download/win). During installation, you can choose the relevant options to set up your Bash environment.

Executing Scripts in Git Bash

Just like in WSL, create the `hello.sh` script in Git Bash. To run the script, you simply navigate to its directory and execute the following command:

bash hello.sh

Running Bash Scripts in Cygwin

Cygwin Setup

Cygwin provides a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows. To install Cygwin, navigate to the [Cygwin website](https://www.cygwin.com/) and download the installer. Follow the setup instructions, selecting the packages you wish to install.

Executing Scripts in Cygwin

After creating your Bash script in the Cygwin terminal, the execution process is similar. Use the `bash` command or mark the script as executable before running it.

Run Bash Script on Mac: A Simple Guide

Run Bash Script on Mac: A Simple Guide

Common Issues and Troubleshooting

Handling Script Errors

When running Bash scripts, you may encounter common error messages, such as «command not found» or «permission denied.» These can be addressed through basic troubleshooting steps—ensure that the command is correctly spelled, the script file exists, and you have the necessary permissions.

Performance Issues

If your Bash script runs slowly, investigate any potential bottlenecks, such as infinite loops or redundant function calls. Optimizing your scripts can lead to better performance and faster execution times.

Mastering Bash for Windows: A Quick Guide for Beginners

Mastering Bash for Windows: A Quick Guide for Beginners

Best Practices for Writing and Running Bash Scripts on Windows

Script Organization

For clarity, ensure that your scripts are well-organized. Use comments to document sections of code and explain the purpose of specific commands. This practice not only benefits you but also helps anyone else who may need to use or modify your scripts in the future.

Testing Scripts

Before deploying any scripts, it’s essential to test them thoroughly. Run your scripts in a safe environment and use tools like ShellCheck to check for syntax errors and coding best practices.

Bash Script Closure: Quick Guide to Mastering It

Bash Script Closure: Quick Guide to Mastering It

Conclusion

Being able to run Bash scripts on Windows significantly enhances your productivity and allows you to harness the power of automation. By following the steps outlined above, you can easily set up your environment, write and execute Bash scripts effectively. The combination of WSL, Git Bash, and Cygwin provides robust options for integrating Bash into your workflow.

Bash Script Beginner: Your Quick Start to Shell Mastery

Bash Script Beginner: Your Quick Start to Shell Mastery

Further Reading and Resources

For those looking to deepen their knowledge, check out recommended books, websites, and forums for Bash scripting. Explore tutorials and resources on WSL, Git Bash, and Cygwin to continue your journey into the world of Bash scripting.

Bash (Bourne Again SHell) is a command processor that allows users to enter commands to manipulate the operating system and execute scripts. Originally developed for UNIX-like operating systems, Bash has become popular with developers and system administrators due to its flexibility and vast array of built-in commands. While Windows traditionally relies on its Command Prompt and PowerShell, the introduction of the Windows Subsystem for Linux (WSL) has made it possible to run Bash scripts natively on Windows 10. This article aims to guide you through the steps required to create and run Bash shell scripts on Windows 10.

Understanding Bash Shell Scripts

A Bash shell script is simply a text file that contains a series of commands that the Bash interpreter can execute. These scripts can automate repetitive tasks, simplify command-line operations, and enhance productivity. A basic understanding of shell commands is needed to write effective scripts.

Key Benefits of Using Bash Scripts

  1. Automation: Automate complex tasks and repetitive operations.
  2. Portability: Scripts can generally run on any UNIX-like system without modification.
  3. Powerful Text Processing: With tools like grep, awk, and sed integrated into Bash, scripts can perform advanced text processing.
  4. Control Structures: Bash supports loops and conditional statements, allowing for more complex scripts.

Setting Up Bash on Windows 10

Before we can create and execute Bash scripts on Windows 10, we need to set up a Bash environment by enabling the Windows Subsystem for Linux (WSL). Follow these steps:

Step 1: Enable WSL

  1. Open Windows Features: Type «Turn Windows features on or off» in the Windows search bar and select the option.

  2. Enable WSL: In the dialog box, scroll down and check the «Windows Subsystem for Linux» option. Click «OK».

  3. Restart Your Computer: After enabling WSL, Windows will prompt you to restart your computer.

Step 2: Install a Linux Distribution

Once WSL is enabled, you can install a Linux distribution from the Microsoft Store.

  1. Open Microsoft Store: Search for «Microsoft Store» and open it.

  2. Search for a Distribution: Type «Linux» in the search bar and choose from options like Ubuntu, Debian, Kali Linux, etc. For beginners, Ubuntu is highly recommended.

  3. Install the Distribution: Click on your chosen distribution and hit the «Install» button.

  4. Launch the Distribution: After installation, launch the Linux distribution from the Start menu. The first time you run it, you’ll be prompted to create a user account and set a password.

Step 3: Update Your Linux Environment

After setting up your Linux distribution, it’s a good practice to update the package repository and installed packages.

Open the Bash terminal by running your installed distribution, and execute the following commands:

sudo apt update
sudo apt upgrade

Creating Your First Bash Script

Now that you have a Bash environment set up on your Windows 10, you can start creating your Bash scripts.

Step 1: Open Your Bash Terminal

Launch your installed Linux distribution from the Start menu to open the Bash terminal.

Step 2: Create a New Script File

You can create a script file using any text editor. For this guide, we will use nano, a simple terminal text editor.

To create a new script file named myscript.sh, type:

nano myscript.sh

Step 3: Write Your Bash Script

Upon opening the myscript.sh file in the nano editor, you can start writing commands. For example, you can begin with a «Hello World» script:

#!/bin/bash
echo "Hello, World!"

Explanation of the Script

  • #!/bin/bash: This is called a shebang. It tells the system to use the Bash shell to execute the script.
  • echo "Hello, World!": This command outputs the text «Hello, World!» to the terminal.

Step 4: Save and Exit

In nano, save the file by pressing CTRL + O, then hit Enter to confirm. To exit the editor, press CTRL + X.

Making Your Script Executable

Before you run your Bash script, you need to make it executable.

chmod +x myscript.sh

This command changes the file’s permissions to allow execution.

Running Your Script

To run your script, type:

./myscript.sh

You should see «Hello, World!» printed on the terminal. Congratulations! You’ve successfully created and run your first Bash script on Windows 10.

Understanding Basic Bash Script Syntax

To make the most of your Bash scripting experience, familiarize yourself with some fundamental concepts and syntax.

Comments

Comments in Bash scripts are initiated with the # symbol. Lines starting with # are ignored during execution:

# This is a comment
echo "This line will be executed"

Variables

You can create variables in Bash scripts as follows:

name="Alice"
echo "Hello, $name"

Conditional Statements

Bash supports conditional statements that allow you to execute code based on certain conditions. The if statement can be used in the following way:

if [ "$name" == "Alice" ]; then
    echo "Hello, Alice!"
else
    echo "You're not Alice!"
fi

Loops

Loops allow you to execute a set of commands repeatedly. The for loop is a common structure:

for i in {1..5}; do
    echo "Iteration $i"
done

Advanced Bash Scripting Features

Once you are comfortable with the basics, you might want to explore more advanced scripting features.

Functions

Functions help to encapsulate code for reuse. Here’s a basic function example:

greet() {
    echo "Hello, $1!"
}
greet "Alice"

Command Line Arguments

You can pass arguments to your script when executing it:

#!/bin/bash
echo "Hello, $1!"

If you run ./myscript.sh Bob, the output will be «Hello, Bob!».

Arrays

Bash supports arrays, allowing you to store multiple values in a single variable:

fruits=("apple" "banana" "cherry")
echo "My favorite fruit is ${fruits[1]}"  # Outputs: My favorite fruit is banana

Debugging Your Bash Scripts

Debugging is an essential part of scripting. You can troubleshoot issues in your scripts using a variety of methods.

Use set -x

At the beginning of your script, adding set -x will display each command and its output as the script executes:

#!/bin/bash
set -x
echo "This is my script"

Check Exit Status

After executing a command, you can check its exit status using $?. An exit status of 0 means success, while any other number represents an error.

command
if [ $? -ne 0 ]; then
    echo "Command failed!"
fi

Useful Bash Commands

Familiarize yourself with useful commands that can enhance your scripting abilities:

  • echo: Print text to the terminal.
  • cat: View the contents of a file.
  • grep: Search for text within files.
  • find: Search for files and directories.
  • sed: Stream editor for filtering and transforming text.
  • awk: A powerful text-processing language.

Best Practices in Bash Scripting

To write clean and efficient Bash scripts, consider the following best practices:

  1. Use Comments: Comment your code generously to explain functionality.
  2. Consistent Indentation: Maintain consistent formatting for better readability.
  3. Error Handling: Incorporate error checking and handling for critical commands.
  4. Use Descriptive Variable Names: Avoid cryptic variable names; clarity is key.
  5. Test Incrementally: Run and test your scripts incrementally to catch errors early.

Resources for Further Learning

As you advance your skills in Bash scripting, consider diving deeper through these resources:

  1. Books:

    • «Learning the Bash Shell» by Cameron Newham
    • “Bash Pocket Reference” by Arnold Robbins
  2. Online Courses: Platforms like Coursera, Udacity, and Udemy offer in-depth Bash scripting courses.

  3. Documentation: Review the official GNU Bash Reference Manual online for detailed insights.

Conclusion

Bash scripting is a powerful skill that unlocks a treasure trove of automation opportunities for Windows 10 users. By setting up WSL, you have embraced the flexibility and versatility of Bash scripts which can significantly enhance your productivity. As you gain proficiency in writing scripts, you will find new ways to streamline your workflow, whether it’s automating mundane tasks or processing data efficiently. Remember to continue learning and exploring the many features and capabilities Bash offers. Happy scripting!

Are you interested in working with shell scripts on Windows? Thanks to a recent addition by Microsoft, you can now use Windows Subsystem for Linux to make this happen. 

Once you enable shell scripts in Windows 10, you can start creating shell scripts of your own. Shell scripts are great for automating simple tasks. You can also work on open-source Linux-based projects if that’s an area of interest to you. Finally, you’ll learn how to execute shell scripts on Windows 10. Continue reading to learn more.

What is Linux?

Linux is an open-source operating system that is highly popular among computer enthusiasts. Linux competes with other computer operating systems like Microsoft’s Windows, Apple’s macOS, and mobile operating systems like Android and iOS. 

The Linux operating system was originally developed by Linus Torvalds back in 1991. The Linux kernel was designed as a Unix-like operating system. Unix was an early operating system created by Bell Labs in 1969. Today, modern Linux distributions are still Unix-like, meaning they retain the basic structure and properties that Unix had. An example of a non-Unix operating system would be Microsoft Windows.

The top Linux distributions have changed over the years, but as of 2022, Ubuntu, Debian, CentOS, Fedora, and Red Hat rank as the top 5 most popular options. 

What is Bash?

When Linus Torvalds created Linux, he included a Unix shell called Bash. Bash had been created just two years before, in 1989 by Brian Fox. Bash has been the longtime default for Linux and was also the default for Apple macOS until it was replaced by Z shell in 2019. 

Until 2016, Windows users could not use the Linux kernel or Bash at all. Windows first introduced the Windows Subsystem for Linux (WSL) beta with Windows 10 version 1607 update. About a year later, in October 2017, WSL was fully released in Windows 10 version 1709. Microsoft developed WSL for hobbyists and developers who want to work on open-source Linux-based projects. 

It’s important to note that WSL is not preinstalled on Windows 10. If you would like access to create and run shell scripts on Windows 10, you will need to manually install WSL or join the Windows insider program. 

What is a shell script?

A Shell script is a type of script that cannot be run without a Unix shell. Further, a shell script is a series of commands that are executed line by line by the command line. 

You can use shell scripts to automate processes and avoid repetitive tasks. Instead of manually completing each step in a series, you can execute a script, and the command line will handle the rest.

For example, if you find yourself regularly stopping processes that are hogging your CPU, you can automate this process with a script. When you execute the script, it may be designed to find a set of processes using CPU resources and request to kill them. 

Enabling shell scripts in Windows 10

  1. Click on the Start (Windows) button and enter “Control Panel” into the search bar. Click Open on the Control Panel result on the right-hand side.
Search for Control Panel

  1. Within the Control Panel window, find and click on Programs.
Control Panel options

  1. Now, from the Programs window, find Click Turn Windows features on or off underneath the Programs and Features header.
Turn Windows features on or off

  1. In the Windows Features window, scroll to the very bottom of the window. Check the Windows Subsystem for Linux option. Then click OK.
Enable Windows Subsystem for Linux to be able to run shell scripts

  1. Windows will automatically install the necessary files. When the installation is complete, select Restart Now.
Restart Windows

  1. When your computer restarts, you need to install Ubuntu from the Microsoft store.
Install Ubuntu to run shell scripts on Windows

  1. After installation, make sure you open Ubuntu and see it up. You are now ready to use scripts on your Windows 10 machine.

If you encounter any issues with Ubuntu or bash commands not working correctly, you may want to check that Virtualization is turned on in your BIOS. The most updated WSL version, WSL 2, runs the Linux kernel using virtualization technology. This means a virtual machine needs to be able to run on your system.

Now that Windows Subsystem for Linux and Ubuntu has been installed, you are ready to start creating shell scripts in Windows 10. You may be tempted to write bash scripts with Notepad, but this is not recommended. Because Notepad is designed for Windows/DOS systems, the line endings will differ from those that are found at the end of Unix/Linux line endings. 

Text editors for shell scripts

You should use software that is designed to convert to Unix/OSX end-of-line characters. The best open-source software available for this is Notepad++. Amazingly, Notepad++ is lovingly maintained and developed by a single individual, Don Ho. 

If you try Notepad++ and don’t like it, you can try another fan favorite, nano. Nano is a text editor for Unix/Linux systems. You can easily create shell scripts that will run in bash, using nano. Download nano to get started.

Example shell scripts

Let’s look at some basic shell scripts, so you can learn more about what you are going to be coding and see how some formatting and syntax work.

1. Hello World!

echo "Hello World!"

This script will print out the infamous Hello World! Notice that echo can be used as a print command when not combined with any other modifiers. It will print the string on a new line. If you add the -n modifier, the output will print on the same line. 

2. Sum two numbers

If you want to do some basic arithmetic, you might have a script that looks like:

# Add two numbers together
((sum=25+35))

# Print the sum of the numbers
echo $sum

Note that the # symbol is used to make comments that are not expressed. The output of this script will print the sum of 25+35, which is 60. 

3. Take user input

The following script will ask for the user’s name and then use the read command to take the user’s input. Then the user’s name is passed into the following expression, ultimately welcoming you to Windows Subsystem for Linux. 

echo "What is your name?"
read name
echo "Welcome $name to Windows Subsystem for Linux."

Write basic shell scripts in Windows 10

Continue reading to learn how to write basic shell scripts in Windows 10 using Notepad++.

  1. Click the Start button and search for “Notepad++” and click Run as administrator on the right-hand side.
Search Notepad++

  1. Now you can create your script.
Write your bash script in Notepad++ on Windows

  1. Once your script is complete, you need to use the EOL Conversion option available in Notepad++. Click Edit and locate EOL Conversion from the dropdown menu. Hover over this option and then select UNIX/OSX Format from the next dropdown menu.
Change EOL Conversion to UNIX/OSX format

  1. Now select File and then Save As. Make sure to name your file something you will recognize and add .sh to make it a shell script file.
Save the sh file before you run it on Windows

  1. Once the shell script is saved, continue to the next section to learn how to run your own shell scripts.

How to run shell scripts (.sh files) on Windows 10

You’ve created your first shell scripts, and it’s time to execute the sh file. Remember that when using WSL, you can only use Linux commands and utilities. Windows 10 programs will not work in bash scripts. To execute a script file, follow these step-by-step instructions:

  1. Click on the Start (Windows) button and enter “Command Prompt into the search bar. Click Run as administrator on the Command Prompt result on the right-hand side.
  2. Navigate to the folder where the script file is saved. You move around in the command prompt using the cd command. For example, if you want to access the Documents folder, you would enter the following and press Enter:

    cd C:\Users\Username\OneDrive\Documents

    Note: Username would be the username that you set up for yourself when you registered your computer. 

Navigate to the location of the sh file in Command Prompt

  1. Now enter bash file-name.sh, where file-name is the whatever you’ve named your script file. 

    bash file-name.sh

    The script will execute, and if there are any outputs or print statements included in the script, the output will be returned.

Bash scripts running on Windows 10

You’ve made it far and learned a ton of information in one go. Command-line utilities, different operating systems, and learning to write and execute shell scripts can be difficult topics. In fact, these topics will take time to master. You have a ton of learning to do for scripting, but resources are available to help you all over the internet. 

Within this guide, you learned the basics of Linux and Bash. You learned what shell scripts are and that you need to specifically enable Windows Subsystem for Linux (WSL) to use them. You learned how to create shell scripts using Notepad++ and how to execute the scripts in bash. Enjoy experimenting!

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Нет жесткого диска в моем компьютере windows 11
  • Roblox не скачивается на windows 10
  • Программа контроля температуры для windows 10
  • Обновление windows 10 версии 1511 для систем на базе 64 разрядных x64 процессоров kb4480730
  • John open the windows half an hour