15. Parameter expansion¶
15.1. Simple usage¶
$PARAMETER
${PARAMETER}
15.2. Indirection¶
${!PARAMETER}
15.3. Case modification¶
${PARAMETER^}
${PARAMETER^^}
${PARAMETER,}
${PARAMETER,,}
${PARAMETER~}
${PARAMETER~~}
15.4. Variable name expansion¶
${!PREFIX*}
${!PREFIX@}
15.5. Substring removal (also for filename manipulation!)¶
${PARAMETER#PATTERN}
${PARAMETER##PATTERN}
${PARAMETER%PATTERN}
${PARAMETER%%PATTERN}
15.6. Search and replace¶
${PARAMETER/PATTERN/STRING}
${PARAMETER//PATTERN/STRING}
${PARAMETER/PATTERN}
${PARAMETER//PATTERN}
15.7. String length¶
${#PARAMETER}
15.8. Substring expansion¶
${PARAMETER:OFFSET}
${PARAMETER:OFFSET:LENGTH}
15.9. Use a default value¶
${PARAMETER:-WORD}
${PARAMETER-WORD}
15.10. Assign a default value¶
${PARAMETER:=WORD}
${PARAMETER=WORD}
15.11. Use an alternate value¶
${PARAMETER:+WORD}
${PARAMETER+WORD}
15.12. Display error if null or unset¶
${PARAMETER:?WORD}
${PARAMETER?WORD}