Shell Scripting Basics

  1. Introduction to Linux
  2. Getting Started with Linux
  3. Linux File System
  4. Users, Groups, and Permissions
  5. Linux Processes and Services
  6. Package Management in Linux
  7. Text Editors in Linux
  8. Shell Scripting Basics
  9. Linux Networking Fundamentals
  10. File and Data Backup
  11. System Administration Tasks
  12. Security in Linux
  13. Advanced Linux Shell Scripting
  14. Advanced Linux Networking
  15. Linux Server Administration
  16. Linux Virtualization and Containers
  17. Linux Cloud Services and Hosting
  18. Linux in DevOps: Empowering Modern Development Practices
  19. Mastering Linux Troubleshooting: Solving Common Challenges
  20. Mastering Linux: Advanced Tips and Tricks for Ultimate Productivity

Welcome to the eighth installment of our Linux Fundamentals series. In this article, we’ll dive into the world of shell scripting. Shell scripting is a powerful way to automate tasks and interact with the Linux command line. We’ll cover the following topics in detail: what shell scripting is, how to write and execute shell scripts, working with variables and environment variables, and incorporating conditional statements into your scripts. By the end of this article, you’ll have a solid understanding of the fundamentals of shell scripting. 

What Is Shell Scripting?

Shell scripting is the practice of writing scripts or programs that can be executed directly by the Unix or Linux shell. The shell is the command-line interface that allows users to interact with the operating system. Shell scripts are a sequence of shell commands and instructions that perform a specific task or automate a series of tasks.

Shell scripting is a versatile tool for various purposes, such as system administration, data processing, and automation. It allows users to create custom solutions for their specific needs.

Writing and Executing Shell Scripts

Writing a Simple Shell Script

Shell scripts are typically created using a text editor. For instance, you can use the `nano` text editor to create a simple script called ``:


In the script file, add the following lines:

# This is a simple shell script

echo "Hello, Linux Fundamentals!"

Save the file (`Ctrl` + `O`, then `Enter` in `nano`) and exit (`Ctrl` + `X` in `nano`).

Making the Script Executable

Before you can run the script, you need to make it executable. Use the `chmod` command:

chmod +x

Now you can execute the script by running:


You should see the output:

Hello, Linux Fundamentals!

Variables and Environment Variables

Variables in Shell Scripts

Shell scripts can use variables to store and manipulate data. To create a variable, use the assignment operator `=`. For example:

echo "Hello, $name!"

This script assigns the value “John” to the `name` variable and then uses it in the `echo` command.

Environment Variables

Environment variables are predefined variables that provide information about the system or the shell environment. They are usually written in uppercase letters. Some common environment variables include:

– `$USER`: The current user’s username.
– `$HOME`: The user’s home directory.
– `$PATH`: A list of directories containing executable files.
– `$PWD`: The current working directory.

You can access the values of these variables in your scripts. For example:

echo "Hello, $USER! Your home directory is $HOME."

Conditional Statements in Scripts

Conditional statements allow you to make decisions and execute different parts of your script based on specific conditions. Common conditional statements in shell scripting include `if`, `elif` (else if), and `else`.

Here’s a simple script that checks if a number is greater than 10:



if [ $number -gt 10 ]; then
  echo "$number is greater than 10."
  echo "$number is not greater than 10."

Running this script would produce the output:

15 is greater than 10.

You can use various conditional operators like `-eq` (equal), `-ne` (not equal), `-lt` (less than), `-le` (less than or equal), and `-ge` (greater than or equal) to construct more complex conditions.


Shell scripting is a powerful way to automate tasks and perform various operations in a Linux environment. In this article, we introduced the basics of shell scripting, including writing and executing simple scripts, working with variables and environment variables, and using conditional statements to make decisions in your scripts.

As you become more comfortable with shell scripting, you’ll be able to create increasingly sophisticated scripts to automate complex tasks and streamline your workflow in Linux.

In the next article of our Linux Fundamentals series, we’ll explore advanced shell scripting concepts and techniques, allowing you to further enhance your scripting skills. Stay tuned for more valuable insights into the world of Linux!

Leave a Reply

Your email address will not be published. Required fields are marked *