Bash Check if Two Strings are Equal
Bash Check if Two Strings are Equal
In Bash scripting, checking if two strings are equal is useful for various tasks that require string comparison and conditional operations.
Syntax
if [ "$string1" == "$string2" ]; then
# commands if strings are equal
fi
The basic syntax involves using the ==
operator within a single-bracket [ ]
if statement to check if the strings are equal.
Example Bash Check if Two Strings are Equal
Let's look at some examples of how to check if two strings are equal in Bash:
1. Check if Two Strings are Equal
This script checks if the variables str1
and str2
are equal and prints a corresponding message.
#!/bin/bash
str1="hello"
str2="hello"
if [ "$str1" == "$str2" ]; then
echo "The strings are equal."
else
echo "The strings are not equal."
fi
In this script, the variables str1
and str2
are assigned the value 'hello'. The if statement uses the ==
operator to check if str1
and str2
are equal. If true, it prints a message indicating that the strings are equal. Otherwise, it prints a different message.
2. Check if User Input Strings are Equal
This script prompts the user to enter two strings and checks if they are equal, then prints a corresponding message.
#!/bin/bash
read -p "Enter the first string: " str1
read -p "Enter the second string: " str2
if [ "$str1" == "$str2" ]; then
echo "The strings are equal."
else
echo "The strings are not equal."
fi
In this script, the user is prompted to enter two strings, which are stored in the variables str1
and str2
. The if statement uses the ==
operator to check if str1
and str2
are equal. If true, it prints a message indicating that the strings are equal. Otherwise, it prints a different message.
3. Check if Strings from Command Output are Equal
This script checks if the output of two commands stored in the variables output1
and output2
are equal and prints a corresponding message.
#!/bin/bash
output1=$(echo "test1")
output2=$(echo "test1")
if [ "$output1" == "$output2" ]; then
echo "The command outputs are equal."
else
echo "The command outputs are not equal."
fi
In this script, the variables output1
and output2
are assigned the result of commands that echo 'test1'. The if statement uses the ==
operator to check if output1
and output2
are equal. If true, it prints a message indicating that the command outputs are equal. Otherwise, it prints a different message.
Conclusion
Checking if two strings are equal in Bash is a fundamental task for string comparison and conditional operations in shell scripting. Understanding how to check for string equality can help you manage and validate strings effectively in your scripts.