Shell Scripting Variables: 7 Important Discovery Every Beginner Must Know

Shell Scripting Variables Explained: A Beginner’s Guide (Bourne Shell)

Variables are one of the most fundamental concepts in programming, and shell scripting is no exception. In shell scripts, variables allow you to store data in memory, reuse values, and write flexible, maintainable scripts.

In this tutorial, you’ll learn what variables are in the Bourne shell, how to define and use them correctly, common mistakes to avoid, and practical examples you can apply immediately.

Beginner guide to shell scripting variables



What Is a Variable in Shell Scripting?

A variable is a symbolic name that represents a value stored in memory. You can:

  • Assign a value to a variable

  • Read the value later

  • Modify the value during script execution

In shell scripting, variables are untyped, meaning you don’t need to declare their data type.


Why Variables Are Important in Shell Scripts

Variables help you:

  • Avoid repeating values

  • Make scripts dynamic

  • Improve readability

  • Pass data between commands

  • Store user input and command output

Without variables, shell scripts would be rigid and hard to maintain.


Basic Variable Assignment in Bourne Shell

The basic syntax for defining a variable is:

VAR=value

Important Rule

There must be NO spaces around the = sign.

Correct:

NAME=World

Incorrect:

NAME = World

Why spaces break it?

  • VAR=value → Shell treats this as a variable assignment

  • VAR = value → Shell thinks VAR is a command and tries to execute it


Using Variables in a Shell Script

To access the value of a variable, prefix it with $.

Example: Hello World Using Variables

#!/bin/sh

MESSAGE="Hello World"
echo $MESSAGE

Output:

Hello World

Variable Naming Rules in Shell Scripting

Follow these rules to avoid errors:

  • Can contain letters, numbers, and underscores

  • Must start with a letter or underscore

  • Cannot start with a number

  • Cannot contain spaces

Examples

USER_NAME="admin"
count=10
_total=50

Invalid examples:

2name=value
user-name=value
my var=value

Reading Variable Values

You can use variables in commands:

FILE="test.txt"
ls $FILE

You can also combine variables with text:

NAME="Linux"
echo "Welcome to $NAME Shell Scripting"

Reassigning Variables

Shell variables can be changed at any time:

COUNT=5
COUNT=10
echo $COUNT

Output:

10

Using Variables in Commands (Command Substitution)

You can store command output in a variable:

DATE=$(date)
echo "Today is $DATE"

This is very useful for automation scripts.


Environment Variables vs Shell Variables

  • Shell variables exist only in the current shell

  • Environment variables are available to child processes

Example:

export PATH

Environment variables are covered in detail in Variables – Part II.


Common Mistakes with Shell Variables

Adding spaces around =

VAR = value

Forgetting $ when accessing value

echo VAR   # prints VAR, not the value

Using special characters in variable names

my-var=value

point to be noted

  • Use uppercase for constants

  • Use meaningful names

  • Quote variables when in doubt:

    echo "$VAR"
    
  • Initialize variables before using them


Frequently Asked Questions (FAQ)

 Why does VAR = value not work in shell?

Because the shell interprets VAR as a command, not a variable assignment.


Are shell variables case-sensitive?

Yes.

VAR=10
var=20

These are two different variables.


Do I need to declare variables in shell scripts?

No. Shell scripting does not require variable declaration.


Summary

Variables are the backbone of shell scripting. Understanding how to assign, access, and manage variables correctly is essential for writing effective Bourne shell scripts.

Related Topics:

Here are the External tutorial -

Comments

Popular posts from this blog

How to Improve Node.js Performance (100% Working Techniques)

Top 10 Linux File System Basics – A Complete for Beginners