Check if String contains Substring
To check if a string contains a substring in Bash, use comparison operator == with the substring surrounded by * wildcards.
Syntax
The syntax of expression to check if string str contains substring substr is
</>
Copy
$str == *"$substr"*
While using the above expression as a condition in If statement, use double square brackets around the expression.
Example
String contains Substring
In the following script, we take two strings: str and substr, and check if str contains substr. We take values for the strings such that substr is present in str.
Example.sh
</>
Copy
str="hello world"
substr="world"
if [[ $str == *"$substr"* ]];
then
echo "String contains substring."
else
echo "String does not contain substring."
fi
Output
String contains substring.
String contains Substring
Now, let us take values for the strings such that substr is not present in str.
Example.sh
</>
Copy
str="hello world"
substr="good"
if [[ $str == *"$substr"* ]];
then
echo "String contains substring."
else
echo "String does not contain substring."
fi
Output
String does not contain substring.
Conclusion
In this Bash Tutorial, we have learnt how to check if a string contains a substring or not in Bash shell.
