Bash Substring Verification

Posted on in Categories last updated July 17, 2010

How can I find out whether a variable called $vech contains a substring called ‘car’ under bash?

vech=’car bus bike rail airplane’


Use the following syntax:

[[ $vech = *car* ]] && echo "Car found in \$vech" || echo "Sorry"

You can also use the following syntax:

  case "$vech" in
    *car*) echo "Car found, do something" ;;
    *bus*) echo "call bus()";;
   *) echo "Error..."
  esac

You can use grep to display matching pattern only:
grep -o "car" <<<"$vech"
OR
echo "$vech" | grep -o "car"

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Leave a Comment