Bash Scripting

How To Use Variables In Bash Scripts

Introduction

Variables are one of the most important basics of Bash scripting. A variable is used to store data such as text, numbers, file names, paths, usernames, or command output. Once a value is stored in a variable, you can reuse it multiple times inside your Bash script.

If you are learning Bash scripting in Linux, understanding variables is necessary. Variables help you write clean, flexible, and reusable scripts. They are commonly used in automation, system administration, cybersecurity scripts, backup scripts, and log analysis tasks.

What Is A Bash Variable?

A Bash variable is a name that stores a value. You can create a variable by writing the variable name, followed by the = symbol, and then the value.

Example:

name="Kali Linux"

There should be no spaces around the = symbol. This is very important in Bash.

Correct:

user="admin"

Wrong:

user = "admin"

How To Print A Variable In Bash

To use or print a variable, add the $ symbol before the variable name.

Example:

#!/bin/bash

name="Kali Linux"
echo "Welcome to $name"

Save the file:

nano variables.sh

Give execute permission:

chmod +x variables.sh

Run the script:

./variables.sh

Output:

Welcome to Kali Linux

Bash Variable Example

Here is a simple Bash script using multiple variables:

#!/bin/bash

username="root"
tool="Nmap"
website="kalilinuxtutorials.com"

echo "Username: $username"
echo "Security Tool: $tool"
echo "Website: $website"

This script stores different values and prints them using the echo command.

Using Command Output In Variables

You can also store the output of a Linux command inside a variable. This is useful for system information scripts.

Example:

#!/bin/bash

current_user=$(whoami)
current_date=$(date)
current_directory=$(pwd)

echo "Current User: $current_user"
echo "Current Date: $current_date"
echo "Current Directory: $current_directory"

In this example, $(command) runs the command and stores the output in a variable.

Using Numbers In Bash Variables

Bash variables can also store numbers.

Example:

#!/bin/bash

a=10
b=5
sum=$((a + b))

echo "The total is: $sum"

Output:

The total is: 15

For arithmetic operations, use $(( )).

Best Practices For Bash Variables

Use clear variable names that describe the value. For example, use backup_dir instead of x. Avoid spaces around the = symbol. Use quotes around variables when working with text or paths.

Example:

backup_dir="/home/user/backups"
echo "Backup directory is: $backup_dir"

Conclusion

Variables are a basic but powerful part of Bash scripting. They allow you to store values, reuse data, capture command output, and perform simple calculations. Once you understand variables, you can start writing more useful Bash scripts for automation, Linux administration, and cybersecurity tasks.

Practice creating variables with text, numbers, file paths, and command outputs. This will help you build a strong foundation in Bash scripting.

0xSnow

0xSnow is a cybersecurity researcher with a focus on both offensive and defensive security. Working with ethical hacking, threat detection, Linux tools, and adversary simulation, 0xSnow explores vulnerabilities, attack chains, and mitigation strategies. Passionate about OSINT, malware analysis, and red/blue team tactics, 0xSnow shares detailed research, technical walkthroughs, and security tool insights to support the infosec community.

Recent Posts

xargs Command in Linux: Build and Execute Commands from Input

The xargs command in Linux reads items from standard input and passes them as arguments to another…

1 day ago

locate Command in Linux: Find Files Fast with a Database Search

The locate command in Linux searches for files and directories by name. It queries a pre-built database…

1 day ago

Listing Linux Services with systemctl: A Complete Guide

Most modern Linux distributions use systemd as the default service manager. Knowing how to list…

1 day ago

How to Truncate Files in Linux: Empty Files Without Deleting

Truncating a file in Linux means removing its contents while leaving the file itself in…

1 day ago

ss Command in Linux: Display Socket Statistics and Connections

The ss command in Linux lists open sockets and active network connections. It replaced the deprecated netstat command and…

2 days ago

ftp Command in Linux: Connect to Servers and Transfer Files

The ftp command in Linux connects to a remote FTP server and transfers files. FTP transmits everything…

2 days ago