by Sai gowtham

How to check if a string starts with another in Bash

In this tutorial, we are going to learn about how to check if a string starts with another string in Bash or UNIX shell.

Consider, we have the following string:

name="ruby"

Now, we need to check if the first two characters (“ru”) of the above string is matching with another substring.

Checking the string starts with another

We can use the double equals (==) comparison operator in bash, to check if a string starts with another substring.

Here is an example:

name="ruby"

if [[ $name == ru* ]] # * is used for pattern matching
then
  echo "true";
else
  echo "false"; fi

Output:

true

In the above code, if a $name variable starts with ru then the output is “true” otherwise it returns “false”.

Similarly, you can also check the first three characters of a string like this:

name="ruby"

if [[ $name == rub* ]] # * is used for pattern matching
then
  echo "true";
else
  echo "false"; fi

Output:

true

We can also use the parameter expansion syntax to access the first n characters from a string instead of typing manually.

name="ruby"

if [[ $name == ${name:-3} ]] # * is used for pattern matching
then
  echo "true";
else
  echo "false"; fi

${name:-3} : it gets the last three characters from a string.

Top Udemy Courses

JavaScript - The Complete Guide 2021 (Beginner + Advanced)
JavaScript - The Complete Guide 2021 (Beginner + Advanced)
64,026 students enrolled
52 hours of video content
View Course
React - The Complete Guide (incl Hooks, React Router, Redux)
React - The Complete Guide (incl Hooks, React Router, Redux)
284,472 students enrolled
40 hours of video content
View Course
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
Vue - The Complete Guide (w/ Router, Vuex, Composition API)
152,857 students enrolled
48.5 hours of video content
View Course