Expression Meaning
---------- -------
${#string} Length of $string
${string:position} Extract substring from $string at $position
${string:position:length} Extract $length characters substring from $string at $position [zero-indexed, first character is at position 0]
${string#substring} Strip shortest match of $substring from start of $string
${string##substring} Strip longest match of $substring from start of $string
${string%substring} Strip shortest match of $substring from end of $string
${string%%substring} Strip longest match of $substring from end of $string
${string/substring/replacement} Replace first match of $substring with $replacement
${string//substring/replacement} Replace all matches of $substring with $replacement
${string/#substring/replacement} If $substring matches start of $string, substitute $replacement for $substring
${string/%substring/replacement} If $substring matches end of $string, substitute $replacement for $substring
expr match "$string" '$substring' Length of matching $substring* at beginning of $string
expr "$string" : '$substring' Length of matching $substring* at beginning of $string
expr index "$string" $substring Numerical position in $string of first character in $substring* that matches [0 if no match, first character counts as position 1]
expr substr $string $position $length Extract $length characters from $string starting at $position [0 if no match, first character counts as position 1]
expr match "$string" '\($substring\)' Extract $substring*, searching from beginning of $string
expr "$string" : '\($substring\)' Extract $substring*, searching from beginning of $string
expr match "$string" '.*\($substring\)' Extract $substring*, searching from end of $string
expr "$string" : '.*\($substring\)' Extract $substring*, searching from end of $string
Comments