$name | shell variable name |
${name} | delimit shell variable name |
${name-word} | variable nameif set, else word |
${name=word} | as above but also set name to word |
${name?word} | use name if set, otherwise print word and exit |
${name+word} | use word if name is set, otherwise use nothing |
${namen} | element n in array name |
${#name} | length of shell variable name |
${#name*} | number of elements in array name |
${#name@} | number of elements in array name |
${name#pat} | remove shortest leading substring of name that matches pat |
${name##pat} | remove longest leading substring of name that matches pat |
${name%pat} | remove shortest trailing substring of name that matches pat |
${name%%pat} | remove longest trailing substring of name that matches pat |
${name:start} | length characters of name starting at start(counting from0); use rest of value if no length. Negative start counts from the end |
${name:start:length} | |
${name/pattern/string} | value of name with first match of pattern replaced with string |
${name/pattern} | value of name with first match of pattern deleted |
${name/#pattern/string} | value of name with match of pattern replaced with string;match must occur at beginning |
${name/%pattern/string} | value of name with match of pattern replaced with string;match occurs at end |