19 Examples of Variables in Shell Script [Free Downloads]

Variables in shell scripting are containers for storing necessary information. They specify memory locations in the system via characters or numeric or alphanumeric values. Values stored in these locations are later accessed and manipulated by referring to their Variable names. The reference to a variable is done by combining a variable name with the dollar sign ($) i.e. $VARIABLE_NAME. Apart from knowing the basic concepts, it’s important to work with different types of variables in shell script examples for a robust understanding.

So. in this article, you will explore 19 variables in shell script examples to learn about this essential concept.

Variables in shell script examples free download.

Available Download Options


Most Popular

PDF (10 Pages)
DOC (10 Pages)

Combo Pack

ZIP (19 Scripts)

Rules to Define Variables in Shell Scripting

Defining the variables in Shell Script needs to follow a set of rules. Otherwise, you may face runtime errors. These rules cover structures of accessing values stored in a variable, naming conventions of variables, defining the type of variables, etc. Follow the list below to learn more about the rules of variables in Shell scripting:

  • Use the equal sign (=) to assign values to variable names.
  • Variable names are case sensitive i.e. ‘A’ and ‘a’ are different.
  • To refer to a variable use the dollar sign ($) e. $VARIABLE_NAME.
  • While updating/changing the variable values use only the variable name with the assignment operator(=) i.e. VARIABLE_NAME= NEW_VALUE.
  • No need to define variable type while declaring variables.
  • Enclose multiple words or string values within Single Quote (‘ ‘) to consider all characters as input.

Variables in Shell Scripting Syntax

To create a variable, use the following syntax:

VARIABLE_NAME=VALUE

For example:

Name="Anonnya"

The above example creates a variable Name and assigns the value Anonnya to it.

19 Variables in Shell Script Examples

Variables are one of the primary concepts in Shell Scripting. Therefore, examples using variables are generally very basic. However, the application of variables cannot be avoided in the advanced scripts as well. For your convenience, I have listed 19 basic examples of variables in the shell script below. Follow them to learn more about the applications of variables in Shell Scripting.

Example 1: Defining Variables in a Bash Script

In Bash Script, declare a variable by assigning(=) value to its reference. Furthermore, print the assigned values using echo $(VARIABLE_NAME). Here’s how:

#!/bin/bash
# Declaration of variables
name=Tom
age=12
# Displaying variables
echo $name $age

Output:

Tom 12

Example 2: Read, Store, and Display Input Variable

You can take user input with the read command and store it in a variable. Next, use echo $(VARIABLE_NAME) to print the user input. See the example below:

#!/bin/bash
echo "Enter a number:"
read num
echo "The number is: $num"

Output:

Enter a number:
12
The number is: 12

Example 3: Reading User Input Variable With Prompt Message

The read command used with option -p allows you to prompt a message along with taking user input. You can use echo $(VARIABLE_NAME) to display the user input on the screen. Here’s how to do it:

#!/bin/bash

read -p "Enter a number:" num
echo "The number is: $num"

Output:

Enter a number: 12
The number is: 12

Example 4: Concatenating Multiple Variables

You can concatenate multiple variables and store it into a single variable by enclosing them with a double quotation (“ ”). Here’s an example:

#!/bin/bash
# Declaration of variables
name='My name is Tom.'
age='My age is 12.'
# Concatenation
info="${name} ${age}"
echo "Result: $info"

Output:

Result: My name is Tom. My age is 12.

Example 5: Passing Values to Variables as Command Line Arguments

For passing values as command line arguments, you have to run the script along the values in a sequence. Later access these values using the $ and input sequence number. Let’s see an example below: 

#!/bin/bash

name=$1
age=$2
echo "My name is $name. My age is $age."

Syntax to run the Script:

bash bin/var_example5.sh Tom 12

Output:

My name is Tom. My age is 12.

Example 6: Deleting a Variable

You can delete a variable using the unset command. After deleting the variable, you can still access the variable but it will not contain any value. Therefore, printing the variable will output nothing. See this example:

#!/bin/bash

name="LinuxSimply"
echo "Name before deletion: $name"
unset name
echo "Name after deletion: $name"

Output:

Name before deletion: LinuxSimply
Name after deletion:

Example 7: Getting the Length of a Variable

To get the length of a variable use the syntax ${#VARIABLE_NAME}. It will return the number of characters present in the variable. An example is given below:

#!/bin/bash

var="Linuxsimply"
length=${#var}
echo "The length of the variable is: $length"

Output:

The length of the variable is: 11

Example 8: Checking If a Variable is Empty or Not

Check if a variable is empty or not using the if-else statement. Use the -z option to check if the length of the variable is 0. If the length is 0 then the variable is regarded as empty. Otherwise, it contains some value. Follow the example below for a clearer view:

#!/bin/bash

var=""
if [ -z "$var" ]; then
    echo "The variable is empty."
else
    echo "The variable is not empty."
fi

Output:

The variable is empty.

Example 9: Print Environment Variable Using Bash Script

You can regularly store an Environment Variable and print it using ${!..} syntax like the following:

#!/bin/bash

read -p "Enter an Environment Variable name:" var   
echo "Environment:${!var}"

Output:

Enter an Environment Variable name: HOME
Environment:/home/anonnya

Example 10: Changing Internal Field Separator(IFS)/Delimiter Variable

You can modify the default Internal Field Separator of bash by accessing the IFS variable. By changing the IFS you will be able to access values separated by your desired delimiter. After this task again restore the original IFS to avoid any error. Here’s how:

#!/bin/bash
#store default IFS
old_IFS= $IFS
IFS=,
read val1 val2 val3 <<< "5,60,70"
echo 1st value: $val1
echo 2nd value: $val2
echo 3rd value: $val3
#restore default IFS
IFS= $old_IFS;

Output:

1st value: 5
2nd value: 60
3rd value: 70

Example 11: Taking Input Variable as Password

In bash, you can utilize the read command for taking password-type inputs. Application of the read with -sp option hides the input characters when you type them. See the below example:

#!/bin/bash

read -sp "Enter your password: " pass
echo -e "\nYour password is: $pass"

Output:

Enter your password:
Your password is: linuxsimply

Example 12: Using Variables in Command Substitutions

Variables can be used to store command outputs. Later you can modify this command output using the variable. Below you can see that the output of the ls command has been stored in a variable with the $(command) syntax. Here’s an example:

#!/bin/bash

files=$(ls)
echo -e "List of files in the Current directory:\n$files"

Output:

List of files in the Current directory:
bin
Desktop
Documents
Downloads
Music
Pictures

Example 13: Writing and Reading Variables to a File

You can write a variable directly to a file using redirection(>) in Bash. To read the variable written in the file you can source that file to include the file contents in your script and again refer to that variable. See the example in the following:

#!/bin/bash

echo "var=Linuxsimply" > var_file.txt
source var_file.txt
echo "Hello from $var!"

Output:

Hello from Linuxsimply!

Example 14: Using Variables in “for” Loops

Variables are used inside a for loop as a part of its syntax. The range or condition to run the for loop repetitively is defined with the help of variables. In the below example, you can see that the for loop uses the range of values “{1..5}” and the variable accessing values from the range is “i”. Below is an example code for your understanding:

#!/bin/bash

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

Output:

Variable: 1
Variable: 2
Variable: 3
Variable: 4
Variable: 5

Example 15: Using Variables in “while” Loops

The while loop in the bash script can utilize variables to set the range of the loop. You can write a condition using predefined variables inside the while[ ] to run the loop. Here’s how to do it:

#!/bin/bash

var=1
while [ "$var" -le 5 ]; do
    echo "Variable: $var"
    var=$((var+ 1))
done

Output:

Variable: 1
Variable: 2
Variable: 3
Variable: 4
Variable: 5

Example 16: Using Variables in “until” Loops

Using variables in until loop is similar to using variables in while loop. You will need to write a condition using predefined variables inside the until[ ] to run the loop. To do so, see the example code below:

#!/bin/bash

var=1
until [ $var -eq 6 ]
do
    echo "Variable: $var"
    var=$((var+ 1))
done

Output:

Variable: 1
Variable: 2
Variable: 3
Variable: 4
Variable: 5

Example 17: Accessing Variables From Array

To access the values stored in an array you will need to use the index and array name as the variable. The syntax for accessing variables in an array is “${ARRAY_NAME[INDEX]}”. It will return the value stored in the specified index of an array. You can store this value in another variable or you can directly display it on the terminal. Here’s an example:

#!/bin/bash

arr=("mango" "grape" "apple" "cherry" "orange")
echo "First array element: ${arr[0]}"
echo "Last array element: ${arr[4]}"

Output:

First array element: mango
Last array element: orange

Example 18: Passing Variables to Functions

Variables play a vital role when it comes to implementing functions. You can pass a variable or a value to your defined function by simply typing it after the function name. This value is accessed by the function as arguments in the form $1, $2, etc.

Now, see the example below:

#!/bin/bash

function hello {
    var=$1
    echo "Hello from $var!"
}
hello "Linuxsimply"

Output:

Hello from Linuxsimply!

Example 19: Using Variables in Case Statements

Variables are used as case statements. You can take a variable as user input and pass it into the Case Statement to compare with some predefined values or variables. A list of statements then executes depending on the comparison. Below is an example for your reference:

#!/bin/bash

read -p "Enter a digit: " dig
case $dig in
    [0-9]) echo "It's a Digit!";;
    *) echo "I don't know what it is";;
esac

Output:

Enter a digit: 9
It's a Digit!

Conclusion

In this article, I have presented a list of hands-on examples of the topic variables in Shell Script. It covers all the basic applications of variables that can be useful while creating a Shell Script. Moreover, I have included the syntax as well as a set of rules for defining variables in Bash. Therefore, this blog can be very useful in learning all about variables in Bash Scripting.

Frequently Asked Questions

What are Variables in Shell Scripting?

In shell scripting,  a variable is a character string to which a value is assigned you can use throughout the script. Simply, the variable is a placeholder for some value. The assigned value could be a text, number, filename, or any type of data. Variables can make scripts flexible by holding the user input, file name, or even loop counters.

Can I define a shell scripting variable in read-only mode?

Yes, you can prefix a variable name with readonly to create a read-only variable in shell scripts. After such creation, the variable cannot be changed. For instance, to create a read-only variable named fruit, use a script like the following:

#!/bin/bash
fruit="apple"
readonly fruit
fruit="orange"

Output:

/bin/sh: fruit: This variable is read only.

What are the different types of variables in shell scripting?

Several types of variables are used in shell scripting:

  1. Local variables.
  2. Global variables or environment variables.
  3. Shell variables or system variables, etc.

Can the variables in shell scripts store different types of data?

Yes. Shell script variables can store data of different types, including, text, numbers, file names, and even command outputs.

How to define a shell script variable?

To define a shell script variable, use the syntax variable_name=value.In detail, specify the name of the variable and then assign a value to it using the assignment operator = in between. For instance, Name="john", number=5, etc.

Can I access the value of a shell scripting variable using the terminal?

Absolutely. To access the value of the shell scripting variable, you can use the echo command followed by the variable name you intend to see the value of. However, prefix the variable name with dollar sign $ to access the value. For example, to access the variable name="john" in the terminal, use the command echo $name. The terminal output will be john.

5/5 - (1 vote)
LINUX
FUNDAMENTALS
A Complete Guide for Beginners Enroll Course Now
Anonnya Ghosh

Hello there! I am Anonnya Ghosh, a Computer Science and Engineering graduate from Ahsanullah University of Science and Technology (AUST). Currently, I am working as a Linux Content Developer Executive at SOFTEKO. The strong bond between Linux and cybersecurity drives me to explore this world of open-source architecture. I aspire to learn new things further and contribute to the field of CS with my experience. Read Full Bio

Leave a Comment