How To

Bash Read Command: How To Read User Input In Scripts

Introduction

The Bash read command is used to take input from the user while a script is running. If you are learning Bash scripting, the read command is very important because it allows your script to interact with users.

Instead of writing fixed values inside a script, you can ask the user to enter a name, file path, username, password, option, or any other value. This makes Bash scripts more flexible and useful for automation, Linux administration, cybersecurity tasks, and menu-based tools.

What Is The Read Command In Bash?

The read command reads input from the terminal and stores it in a variable.

Basic syntax:

read variable_name

Example:

read nameecho "Hello, $name"

When the script runs, it waits for the user to type something. After the user presses Enter, the input is stored in the variable.

Basic Bash Read Command Example

Create a new Bash script:

nano read-example.sh

Add the following code:

#!/bin/bashecho "Enter your name:"read nameecho "Hello, $name"

Save the file and run it:

chmod +x read-example.sh./read-example.sh

Example output:

Enter your name:Kali UserHello, Kali User

Using Read With Prompt

You can use the -p option to show a prompt on the same line.

#!/bin/bashread -p "Enter your username: " usernameecho "Welcome, $username"

This is cleaner than using a separate echo command.

Reading Multiple Values

The read command can store multiple inputs in different variables.

#!/bin/bashread -p "Enter your first and last name: " first lastecho "First Name: $first"echo "Last Name: $last"

If the user enters:

Kali Linux

The script stores Kali in first and Linux in last.

Reading Password Input Silently

For password input, use the -s option. This hides the text while the user types.

#!/bin/bashread -s -p "Enter password: " passwordechoecho "Password received"

The extra echo moves the cursor to a new line after password input.

Cybersecurity Example: Simple Login Check

#!/bin/bashread -p "Username: " usernameread -s -p "Password: " passwordechoif [[ "$username" == "admin" && "$password" == "admin123" ]]; then    echo "Access granted"else    echo "Access denied"fi

This is a basic example for learning purposes. In real systems, avoid storing plain-text passwords inside scripts.

Conclusion

The Bash read command is used to collect user input and store it in variables. You can use it with prompts, multiple values, and silent password input.

For beginners, learning the read command is important because it helps create interactive Bash scripts. It is useful for automation, user input validation, menu scripts, Linux tools, and cybersecurity practice scripts.

Cyber Defence

Recent Posts

Best OSINT Tools for Journalists 2026: Verify Sources, Images and Claims

Journalists use OSINT to verify public information before publishing. In 2026, misinformation, AI-generated images, fake…

5 hours ago

Install Docker on Ubuntu 20.04: Complete Step-by-Step Guide

DockerĀ is an open-source platform that lets you package and run applications inside containers. Each container…

16 hours ago

Install PostgreSQL on Ubuntu: Database Setup and Admin Guide

PostgreSQL (often called Postgres) is an open-source relational database system. It supports advanced features like JSON…

17 hours ago

Install Xrdp Remote Desktop on Ubuntu: Setup and Connect

Xrdp is an open-source server that lets you connect to your Ubuntu machine from another computer…

17 hours ago

Tomcat 9 on Ubuntu 20.04: Install, Configure, and Start

Apache Tomcat is an open-source web server and Java servlet container. It is one of the…

17 hours ago

Automatic Updates on Ubuntu: Set Up unattended-upgrades

Keeping your Ubuntu system updated is one of the best ways to protect it. Security…

18 hours ago