In this article I will provide you the bash script code to check if a substring is present in string or an array. This code works for both strings and array.
Code Example –
1. Check on string
#!/bin/bash var="This is a string" [[ $var == *is* ]] && echo "string matched" # Output: # string matched
2. Check on array –
#!/bin/bash
arr=("This" "is a" "string")
[[ ${arr[*]} == *is* ]] && echo "array matched"
# Output:
# array matched
3. Check if NOT in string
#!/bin/bash var="This is a string" ([[ $var != *is* ]] && echo "string matched") || echo "string not matched" # Output: # string not matched
4. Using if conditions –
#!/bin/bash
if [[ $var == *sub_string* ]]; then
printf '%s\n' "sub_string is in var."
fi
# Inverse (substring not in string).
if [[ $var != *sub_string* ]]; then
printf '%s\n' "sub_string is not in var."
fi
# This works for arrays too!
if [[ ${arr[*]} == *sub_string* ]]; then
printf '%s\n' "sub_string is in array."
fi
5. Using switch conditions –
case "$var" in
*sub_string*)
# Do stuff
;;
*sub_string2*)
# Do more stuff
;;
*)
# Else
;;
esac