<> == How do I determine whether a variable contains a substring? == In [[BASH]]: {{{ # Bash if [[ $foo = *bar* ]] }}} The above works in virtually all versions of Bash. Bash version 3 (and up) also allows regular expressions: {{{ # Bash my_re='ab*c' if [[ $foo =~ $my_re ]] # bash 3, matches abbbbcde, or ac, etc. }}} For more hints on string manipulations in Bash, see [[BashFAQ/100|FAQ #100]]. If you are programming in the POSIX sh syntax or for the BourneShell instead of Bash, there is a more portable (but less pretty) syntax: {{{ # Bourne case $foo in *bar*) .... ;; esac }}} {{{case}}} allows you to match variables against [[glob|globbing]]-style patterns (including extended globs, if your shell offers them). If you need a portable way to match variables against [[RegularExpression|regular expressions]], use {{{expr}}}. {{{ # Bourne/POSIX if expr "x$foo" : 'x.*bar' >/dev/null; then ... }}} ---- CategoryShell